3-3 构造函数的调用(高级)
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
通过本题目的练习可以掌握创建普通对象、创建对象数组和动态创建和析构对象时调用构造函数和析构函数的时机;
要求创建一个类A;类中仅包含构造函数和析构函数,按照程序的输出写出类的定义和主函数main中的代码。
输入
无
输出
输出共有11行数据,分别如示例输出所示
示例输入
无
示例输出
----begin main--- constructing an object of A constructing an object of A Destructing an object of A ******* constructing an object of A constructing an object of A ----end main--- Destructing an object of A Destructing an object of A Destructing an object of A
#include <iostream>
using namespace std;
class B
{
public:
clas()//构造函数
{
cout<<"constructing an object of A"<<endl;
}
~clas()//析构函数
{
cout<<"Destructing an object of A"<<endl;
}
};
int main()
{
cout << "----begin main---" << endl;
class B *p;//定义一个指向B类对象的指针变量p
p=new class B;//在p中存放了新建对象的起始地址
class B a;
delete p;//先自动调用析构函数,后释放p指向的内存空间
cout<<"*******"<<endl;
class B b;
class B c;
cout<<"----end main---"<<endl;
return 0;//由后向前执行此步前调用三次析构函数
}
#include <iostream>
using namespace std;
class B
{
public:
clas()//构造函数
{
cout<<"constructing an object of A"<<endl;
}
~clas()//析构函数
{
cout<<"Destructing an object of A"<<endl;
}
};
int main()
{
cout << "----begin main---" << endl;
class B *p;//定义一个指向B类对象的指针变量p
p=new class B;//在p中存放了新建对象的起始地址
class B a;
delete p;//先自动调用析构函数,后释放p指向的内存空间
cout<<"*******"<<endl;
class B b;
class B c;
cout<<"----end main---"<<endl;
return 0;//由后向前执行此步前调用三次析构函数
}