Chinaunix
标题:
问个c++中copy constructor的问题
[打印本页]
作者:
trueno
时间:
2007-11-08 20:49
标题:
问个c++中copy constructor的问题
我写了一个程序,下面是该程序中的一部分。大体是这样的:重载前缀++,我执行了下面两组语句:
1. integer ii;
++ii;
integer r0 = ii;
2.integer rr = ++ii;
这两组语句中我感觉应该都是调用2此copy constructor,但是实际上,第二种情况只调用了1次。
不知道为什么?
#include<iostream>
using namespace std;
class integer
{
public:
int i;
public:
integer()
{i = 0;}
integer(const integer & ci)
{
i = ci.i;
cout<<"integer(const integer &) “<<endl;
}
~integer() {}
integer operator++()
{
cout << "prefix" << endl;
this->i++;
return *this;
}
};
int main()
{
integer ii;
++ii;
integer r0 = ii;
//前两个语句各调用一次copy constructor
integer rr = ++ii;
//上面这条语句却只调用一次copy constructor
return 1;
}
作者:
ypxing
时间:
2007-11-08 23:22
>>integer operator++()
应该是integer& operator++()
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2