首页 > 编程语言 > 详细

C++随笔:为什么没有调用复制运算符?

时间:2014-04-10 07:51:49      阅读:240      评论:0      收藏:0      [点我收藏+]

代码如下,按理应该调用复制运算符啊,为何却是调用了复制构造函数:

bubuko.com,布布扣
 1 #include <iostream>
 2 using std::cout;
 3 using std::endl;
 4 using std::string;
 5 
 6 class Test
 7 {
 8 public:
 9     Test()
10     {   
11         cout << "The default constructor is called!" << endl;
12     }   
13 
14     Test(const Test &rhs)
15     :strTest(rhs.strTest)
16     {   
17         cout << "Test copying function is called!" << endl;
18     }   
19 
20     Test & operator=(const Test &rhs)
21     {
22         strTest = rhs.strTest;
23         cout << "Test copy assignment function is called!" << endl;
24         return *this;
25     }
26 
27 private:
28     string strTest;
29 };
30 
31 int main()
32 {
33     Test myTestA;
34     Test myTestB = myTestA;
35 
36     return 0;
37 }
bubuko.com,布布扣

编译后的运行结果为:

bubuko.com,布布扣
1 [tortoise@sea temp]$ ./test
2 The default constructor is called!
3 Test copying function is called!
4 [tortoise@sea temp]$
bubuko.com,布布扣

 

C++随笔:为什么没有调用复制运算符?,布布扣,bubuko.com

C++随笔:为什么没有调用复制运算符?

原文:http://www.cnblogs.com/StupidTortoise/p/3655527.html

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