读书人

在const成员函数中改变了对象的值这

发布时间: 2012-04-13 13:50:24 作者: rapoo

在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++标准定义里可以获得答案?
[解决办法]
探讨

也许,成员函数声明为const的意思是,不能通过this指针这个“路径”修改自身的值,但可以通过其他“路径”修改自身的值???

求高手解答。

也许,看看C++标准定义里可以获得答案?

[解决办法]
探讨

也许,成员函数声明为const的意思是,不能通过this指针这个“路径”修改自身的值,但可以通过其他“路径”修改自身的值???

求高手解答。

也许,看看C++标准定义里可以获得答案?

读书人网 >C++

热点推荐