const修饰成员函数

来源:互联网 发布:国泰安数据库是免费吗 编辑:程序博客网 时间:2024/05/20 07:13

class CTest{public:void cFunc() const;  //不可改变对象的成员变量void Func();};void CTest::cFunc() const{}void CTest::Func(){}const CTest ctest;const CTest * pctest=new CTest;ctest.cFunc();//error C2662: “CTest::Func”: 不能将“this”指针从“const CTest”转换为“CTest &”//ctest.Func();pctest->cFunc();// error C2662: “CTest::Func”: 不能将“this”指针从“const CTest”转换为“CTest &”//pctest->Func();


const成员函数不允许修改它所在对象的任何一个数据成员,const成员函数能够访问对象的const成员,而其他成员函数则不可以。

对于const类对象/指针/引用可以调用const成员函数,但是不可以调用非const类型的成员函数