Chinaunix首页 | 论坛 | 博客
  • 博客访问: 86944
  • 博文数量: 38
  • 博客积分: 350
  • 博客等级: 一等列兵
  • 技术积分: 365
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-30 09:14
个人简介

每一种技术都有其诱人之处。

文章分类

全部博文(38)

文章存档

2016年(2)

2014年(23)

2011年(13)

我的朋友

分类: C/C++

2011-05-30 17:09:10

  1. class a{

  2. public: int a;
  3.     a():a(0){
  4.         cout<<"a()"<<endl;
  5.     };
  6.     a(int a):a(a)
  7.     {
  8.         cout<<"a(int)"<<endl;
  9.     };
  10.     a(const class a& at){
  11.         cout<<"a(class a)"<<endl;
  12.         a = at.a;
  13.     };
  14.     a& operator = (const a& at){
  15.         a = at.a;
  16.         cout<<"a=a"<<endl;
  17.         return *this;
  18.     };
  19. };
  20. int main(int argc, char* argv[])
  21. {
  22.     int i=0;
  23.     a a1(1);
  24.     a a2 ;
  25.     a2 = a1;
  26.     a a3 = a1;
  27.     cout<<&a2<<" "<<&a1<<endl;
  28.     cin>>i;
  29.     return 0;
  30. }
a a3 = a1; 是先调用a()创建对象,然后调用operator = 复制吗? 事实是调用复制构造函数生成对象。
阅读(591) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~