这个怎么用哦 不会,,
程序代码:
#include <iostream>
using namespace std;
class num
{
public:
num(){n=1;cout<<"构造函数执行"<<endl;}
num (const num &s){this->n=s.n;cout<<"复制构造函数执行"<<endl;}
num(int i){n=i;cout<<"构造函数执行"<<endl;}
~num(){cout<<"析构函数执行"<<endl;}
int get()const {return n;}
void set(int x){n=x;}
void add(){n++;}
const num &operator++(){++n;return *this;}
private:
int n;
};
int main()
{
num i;
cout<<"i:"<<i.get()<<endl;
num x=++i; //为什么执行这里会执行一次复制构造函数?
// 把上面x=++i;换成num x=++++i;怎么不能执行;如果去掉opertor前面的const就可以
cout<<"x:"<<x.get()<<endl;
cout<<"i:"<<i.get()<<endl;
return 0;
}