空指针访问成员函数
C++中空指针也是可以调用成员函数的,但是也要注意有没有用到this指针
如果用到this指针,需要加以判断保证代码的健壮性
class Animal {
public:
void fun1() {
//正常的成员函数
}
void fun2() {
if (this == NULL) {
return;//如果没有这个return会报错
}
//隐含了this的成员函数
cout << mAge << endl;
//因为用到mAge,其实是this->mAge的简写
}
public:
int mAge;
};
int main() {
Animal * p = NULL;//空指针
p->fun1(); //空指针,可以调用成员函数
p->fun2(); //但是如果成员函数中用到了this指针,就可能触发异常
}