C++中空指针也是可以调用成员函数的,但是也要注意有没有用到this指针
如果用到this指针,需要加以判断保证代码的健壮性
代码案例演示:
#include<iostream>
using namespace std;
//空指针调用成员函数
class Person {
public:
void showClassName() {
cout << "this is Person class" << endl;
}
void showPersonAge() {
//报错的原因是因为传入的指针是为NULL
//一般写代码会加入下面这段代码确保代码正常运行
/*if (this == NULL) {
return;
}*/
cout << "age=" << m_Age << endl;
//这里的m_Age默认是this->m_Age,但是下面给他赋值了空所以会报错
//一个空的值是不能访问里面的属性
}
int m_Age;
};
void test01() {
Person* p = NULL;//创建一个指针他指向空
//调用相关函数
p->showClassName();
p->showPersonAge();//调用这个的时候会出现错误
}
int main() {
test01();
system("pause");
return 0;
}