首页 > 编程语言 > 详细

C++ 复制构造函数

时间:2014-03-22 22:33:17      阅读:426      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
 1 #include <iostream>
 2 using namespace std;
 3 
 4 class ClassA
 5 {
 6     int member;
 7     
 8 public:
 9     ClassA (int x):member(x)
10     {
11         cout << "A构造:" <<member <<endl;
12     }
13     //ClassA(const ClassA obj):member(obj.member) //Error!!
14     ClassA(const ClassA& obj):member(obj.member)
15     {
16         cout << "调用复制构造函数" << endl;
17     }
18     
19     void showMember(int a)const //const关键字 表示本函数不会数据成员 
20     {
21         //member = a; //编译无法通过,因为尝试修改数据成员 
22         cout << "不修改成员" << endl; 
23     }
24     
25     friend ClassA Add(const ClassA a, const ClassA& b);
26 };
27 
28 //习惯使用引用来避免参数复制,提高效率 ,使用const避免修改 
29 ClassA Add(const ClassA a, const ClassA& b)
30 {
31     return ClassA(a.member + b.member);
32 }
33 
34 int main(int argc, char *argv[])
35 {
36     ClassA a(10), b(20);
37     Add(a, b); //自动调用构造函数输出结果 
38     
39     ClassA c = a; //调用复制构造函数 
40     return 0;
41 }
bubuko.com,布布扣

C++ 复制构造函数,布布扣,bubuko.com

C++ 复制构造函数

原文:http://www.cnblogs.com/autumoonchina/p/3618124.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!