2023-6-6作业
有以下类定义,写出该类的构造函数,析构函数,拷贝构造函数,要求:构造函数要创建出长度为10的字符串,所有类对象的空间都是用new动态申请的。
#include <iostream>
using namespace std;
class Constructor //第一类
{
public: //构造函数
string constructor;int *tor=new int, *tru=new int;
Constructor(){cout << "Constructor" << endl;}
//析构函数
~Constructor(){cout << "Destructor" << endl;}
//拷贝构造函数
Constructor(Constructor &a):tor(a.tor),tru(a.tru){cout << "Constructor or copy constructor" << endl;}
};
Constructor *show(Constructor &ptr1){cout << ptr1.constructor << endl;return &ptr1;}
class Const //第二类
{
Constructor C;
public:
//构造函数
Const(){cout << "Const or constructor" << endl;}
//析构函数
~Const(){cout << "Const or destructor" << endl;}
};
int main()
{
//申请堆空间
Constructor *Con;Con=new Constructor [10];Const *C=new Const;
Constructor *Con1;Con1=new Constructor[1];Con1=Con;
show(*Con1);
//释放堆空间
delete C;delete Con;Con=nullptr;
cout << "Hello World!" << endl;
return 0;
}