首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

在const成员函数中改变了对象的值,这是咋回事?

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

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

求高手解答。

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

[解决办法]
探讨

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

求高手解答。

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

热点排行