成员函数没有使用const修饰,this的指向m_A是可以修改的 ,每个表达式都隐含了一个this指针。
#include<iostream>
#include<string>
using namespace std;
//常函数
class Person{
public:
// this指针的本质 是指针常量 指针的指向是不可以修改的
void showPerson() {
this->m_A = 100;
// this = NULL; //this指针不可以修改指针的指向的
}
int m_A;
};
void test01() {
Person p;
p.showPerson();
}
int main() {
test01();
system("pause");
}
想要不允许修改只需要加一个const修饰,变成一个常函数
这里本身this代表的是谁来调用我就代表谁,这里的p调用了showPerson() 所以这里this指向的是p。那我可不可以将这个this不指向p,指向NULL可不可以?我们来验证下