刚学C++ 遇到个问题,求好心人解答。
程序代码:#include<iostream>
using namespace std;
class num
{
public:
num(){n=1;cout<<"默认构造函数\n";}
num(int i){n=i;cout<<"带参数的构造函数\n";}
num(num &a){this->n=a.n;cout<<"copy\n";}
~num(){cout<<"the end\n";}
int get()const{return n;}
num & operator ++() //这里,我本来是想按引用返回,避免产生*this的副本,但最后还是产生了,为什么加了引用都不行? 如何不创建副本或拷贝。
{
++n;
return *this;
}
private:
int n;
};
int main()
{
num i;
cout<<"i:"<<i.get()<<endl;
num ab=++i;
cout<<"i:"<<ab.get()<<endl;
return 0;
}[ 本帖最后由 xlhcy2014 于 2014-3-8 23:34 编辑 ]


