#include<iostream>
#include<string>
using namespace std;
class Person {
public:
int age;
void showPerson() {
cout << "这是一个Person类" << endl;
}
void showAge() {
if (this == NULL)
{
cout << "age==NULL" << endl;
return;
}
cout << age << endl; //第32行代码访问会错误,因为age其实默认IDE是给你加了this.的
//实际这里访问的是 this.age,可是由于32行是用空指针访问的,而this代表的是调用这个属性的对象,但是这个对象又是你创建的空指针,所以报错
//所以需要加上一个if判断,之后就不会错误了
}
};
int main() {
Person* p = NULL; //创建一个空指针
p->showPerson(); //正常访问
p->showAge(); //不可以访问,错误原因是因为创建的*p是一个空指针
}
最后修改:2022 年 12 月 05 日
© 允许规范转载