const修饰成员函数
常函数:
- 成员函数后加const,这个函数就称为常函数。
- 常函数内不可修改成员属性
- 成员属性声明时加上关键字 mutable 后,在常函数中依然可以修改
常对象
- 声明对象前加关键字const,这个对象就为常对象
- 常对象只能调用常函数
示例:
class Man
{
public:
//常函数
//这个const修饰this指针,让其指向的值也不可改变
void showMan() const
{
//this->A = 100;报错:this已指向p1,表示不可以修改this指向的值
this->B = 24;
cout << B << endl;
}
public:
int A;
mutable int B;//加上关键字mutable的成员属性B,可以在常函数内修改
};
void test01()
{
Man p1;
p1.showMan();
}
int main()
{
test01();
}