#include <iostream>
using namespace std;
class Peson
{
public:
//常函数
//this指针的本质 是指针常量 指针的指向是不可以修改的
//const Peson * const this;
//在成员函数后面加const,修饰的是this指向,让指针指向的值不可以修改
void showPeson()const
{
//this->m_A = 100;
//this= NULL;//this指针不可以修改指针的指向的
this->m_B = 100;//
}
//非常函数
void func()
{
m_A = 100;
}
int m_A;
mutable int m_B;//特殊变量,即使在常函数中,也是可以修改这个值,加关键字mutable
};
void test01()
{
Peson p;
p.showPeson();
}
//常对象
void test02()
{
const Peson p;//在对象前面加const,就是常对象
p.m_B = 100;//特殊值,在常对象也是可以修改的
//p.m_A = 100;
p.showPeson();//常对象只可以调用常函数
//p.func(); //常对象不可以调用普通成员函数,因为普通成员函数是可以修改属性的
}
int main() {
test01();
test02();
}