#include <iostream>
using namespace std;
class A
{
public:
A(){x=new int;*x=5;} //创建一个对象的同时将成员指针指向的变量保存到新空间中
~A(){delete x;x=0} //析构对象的同时删除成员指针指向的内存空间,为了
//稳妥起见将指针赋为空
A(const A&a) //const为了避免对a进行操作
{
cout<<"复制构造函数执行。。。\n"<<endl;
x=new int; //复制构造对象的同时将成员指针指向的变量保存到新空间中
*x=*(a.x) //读取旧对象的成员指针x指向的空间处的数据
//并赋给新对象的成员指针x所指向的内存区域
}
private:
int *x;
};
int main()
{
return 0;
}
用已有的对象创建新的对象才会调用复制构造函数