刚学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 编辑 ]