在函数前加const时什么意思啊
在函数前加const是什么意思哇?像const num& operator++(){} num x=++i;可以。 而 num x=++++i;则不可以,为什么? 谢谢
#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; }