常函数:
1.成员函数后加const,称为常函数。
2.常函数内不可以修改成员属性。
3.成员属性声明时加关键字mutable后,在常函数中依然可以修改。
常对象:
1.声明对象前加const,称为常对象。
2.常对象只能调用常函数。
#include<iostream> using namespace std; class WLM { public: //this指针的本质是一个指针常量,指针的指向不可修改。 //如果想让指针指向的值也不可修改,需声明常函数,即加一个const //常函数 void func() const { //this->m_a =100; //错误 this->m_b = 100; } void func2() { } int m_a; mutable int m_b; //特殊变量,即使在常函数中也可以修改这个值 }; //常对象 void test1() { const WLM wlm; //wlm.m_a = 100; //错误 wlm.m_b = 100; //特殊变量,即使在常对象中也可以修改这个值 wlm.func(); //常对象只能调用常函数 //wlm.func2(); //错误 } int _tmain(int argc, _TCHAR* argv[]) { test1(); system("pause"); return 0; }