- class a{
- public: int a;
- a():a(0){
- cout<<"a()"<<endl;
- };
- a(int a):a(a)
- {
- cout<<"a(int)"<<endl;
- };
- a(const class a& at){
- cout<<"a(class a)"<<endl;
- a = at.a;
- };
- a& operator = (const a& at){
- a = at.a;
- cout<<"a=a"<<endl;
- return *this;
- };
- };
- int main(int argc, char* argv[])
- {
- int i=0;
- a a1(1);
- a a2 ;
- a2 = a1;
- a a3 = a1;
- cout<<&a2<<" "<<&a1<<endl;
- cin>>i;
- return 0;
- }
a a3 = a1; 是先调用a()创建对象,然后调用operator = 复制吗? 事实是调用复制构造函数生成对象。
阅读(591) | 评论(0) | 转发(0) |