64,646
社区成员
发帖
与我相关
我的任务
分享
#include "stdafx.h"
#include <iostream>
using namespace std;
class Person{
public:
int age;
public:
Person(){
age=10 ;
};
};
int main(void)
{
Person per1;
Person per2(per1);//复制呢?相当于per2=per1麽?
cout<<per2.age<<endl;
return 0;
}
ClassName(const ClassName &object);
这相当于使用赋值运算符:
ClassName& operator=(ClassName &object);
编译器默认实现的是浅拷贝,自己可以定义深拷贝(尤其在涉及指针数据域时) Person per2(per1);
这一句调用默认的拷贝构造函数,如果不自己定义,编译器会自动生成一个,就是对新生成的对象起到一个初始化的作用,你说是复制也是可以的