#include "iostream"
using namespace std;
//常函数
class Person
{
public:
Person()
{
;
}
//常函数
void showPerson() const //末尾的const修饰的是this指针,让指针指向的值也不可修改
{
cout << "this is person" << endl;
//this = NULL; //1. this指针本质 是指针常量 指针的指向是不可修改的。已经指向了p1,不可修改为NULL
//2. 但此时可以用this->m_Age = 10;修改指针指向的值,若想值也不可修改,则像12行末尾添加const
};
void func()
{
}
int m_Age;
mutable int m_A; //3. 但加mutable 则常函数的m_A的值可被修改。
};
void test01()
{
Person p1;
}
void test02()
{
//常对象
const Person p2;
//p2.m_Age = 100; //1.常对象默认 不可修改属性
p2.m_A = 100; //2.特殊变量mutable 可修改。
//3.常对象只能调用常函数
p2.showPerson();
//p.func(); //报错 ,不允许。因为普通成员可以修改属性
}
int main(void)
{
test01();
system("pause");
}