拷贝构造函数的问题
种菜的 2012-08-13 11:24:18 A是一个类名,包含一个int 成员变量 i 和一个指针成员变量,为了方便大家解决问题,就只写了对成员i的操作:
+操作符定义为成员:
A A::operator+(const A &obj)
{
A tmp;
tmp.i = i + obj.i;
return tmp;
}
A::A(const A &obj):i(obj.i)
{
std::cout << "A copy constructor" << std::endl;
}
1: A a1, a2;
2: A a3(a1 + a2); 或者 A a3 = a1 + a2;
按说在使用小括弧()初始化对象时应该使用拷贝构造函数把a1+a2后返回的的临时对象拷贝到a3,但是执行2时为什么没有调用拷贝构造函数?