问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:Project4.cpp
* 作 者:陈旭
* 完成日期:2015年3月30 日
* 版 本 号:v1.0
*
* 问题描述:阅读程序, 了解构造函数和析构函数的运用情况
* 输入描述:略
* 程序输出:略
*/
#include <iostream>
using namespace std;
class A
{
int a , b ;
public :
A( )
{
a=b=0;
cout <<"a="<<a<<","<<"b="<<b<<endl;
}
A(int aa, int bb): a(aa),b(bb)
{
cout <<"a="<<a<<","<<"b="<<b<<endl;
}
~A( )
{
cout<<"Destructor "<<a<<" "<<b<<endl;
}
};
int main()
{
A x, y(2, 3);
return 0;
}
运行结果:
问题及代码:
#include <iostream>
using namespace std;
class A
{
public:
A()
{
cout<<"A";
}
~A()
{
cout<<"~A";
}
};
class B
{
A *p;
public:
B()
{
cout<<"B";
p=new A();
}
~B()
{
cout<<"~B";
delete p;
}
};
int main()
{
B obj;
return 0;
}
运行结果:
问题及代码:
#include <iostream>
using namespace std;
class toy
{
public:
toy(int q, int p)
{
quan = q;
price = p;
}
int get_quan()
{
return quan;
}
int get_price()
{
return price;
}
private:
int quan, price;
};
int main()
{
toy op[3][2]=
{
toy(10,20),toy(30,48),
toy(50,68),toy(70,80),
toy(90,16),toy(11,120)
};
int i;
for (i=0; i<3; i++)
{
cout<<op[i][0].get_quan()<<",";
cout<<op[i][0].get_price()<<"\n";
cout<<op[i][1].get_quan()<<",";
cout<<op[i][1].get_price()<<"\n";
}
cout<<"\n";
return 0;
}
运行结果:
问题及代码:
#include <iostream>
using namespace std;
class DA
{
int k;
public:
DA(int x=1): k(x) { }
~DA()
{
cout<<k;
}
};
int main()
{
DA d[]= {DA(3),DA(3),DA(3) };
DA *p=new DA[2];
delete []p;
return 0;
}
运行结果:
本文详细解读了C++中构造函数和析构函数的使用,通过具体代码实例展示了如何在类中定义和调用构造函数与析构函数,包括默认构造、参数化构造和析构函数的实现,以及类间成员对象的生命周期管理。
414

被折叠的 条评论
为什么被折叠?



