在const成员函数中改变了对象的值,这是咋回事?
在const成员函数中改变了对象的值,这是怎么回事??C/C++ code#include iostreamusing namespace stdclas
在const成员函数中改变了对象的值,这是怎么回事??
C/C++ code#include <iostream>using namespace std;class cl{ public: int resetIval ( cl &cl1)const ; cl():ival(10){ } private: int ival; }; int cl::resetIval( cl & cl1)const{ cl1.ival=1;//在此处改变了成员ival的值,不是不能改变吗?? return cl1.ival; } int main(){ cl cl2; cl cl3; int ival=cl2.resetIval(cl2); cout<<ival<<endl; system("pause"); return 0; }
[解决办法]也许,成员函数声明为const的意思是,不能通过this指针这个“路径”修改自身的值,但可以通过其他“路径”修改自身的值???
求高手解答。
也许,看看C++标准定义里可以获得答案?
[解决办法][解决办法]