这两个原型有什么区别?

时间:2011-08-10 15:45:52

标签: c++

 1.  A a;
     A b = a;
 2.  A a,b;
     b = a;

这两个operator =?

之间有什么区别

第一个需要原型吗?

2 个答案:

答案 0 :(得分:9)

在1中,a是默认构造的,b是从a复制构造的。没有任何作业。

在2中,默认构建ab,然后将a的值分配给b

答案 1 :(得分:1)

这两个都不是原型,而是创建类A的对象。在第一种情况下,语句A b = a;调用A的复制构造函数,其中第二种情况A a,b使用A的默认构造函数,用于创建对象,然后将A的赋值运算符用于b=a