/*
* 空指针访问成员函数
* c++中空指针也是可以调用成员函数的,但是要注意有没有用到this指针
* 如果用到this指针,需要加以判断保证保证代码的健壮性
*/
#include<iostream>
#include<string>
using namespace std;
//空指针访问成员函数
class Person
{
public:
void ShowClassName()
{
cout << "我是Person类" << endl;
}
void ShowPerson()
{
//保证代码的健壮性,出现空指针时直接return掉
if (this == NULL)
{
return;
}
cout << m_Age << endl;//此处m_Age的本质是this->m_Age,this指向空对象时会报错
//this指针指向被调用的成员函数所属的对象
}
private:
int m_Age;
};
void test01()
{
Person* p = NULL;
p->ShowClassName();//空指针可以调用成员函数
p->ShowPerson(); //但是如果成员函数用到this指针时,就不可以了
}
int main()
{
test01();
system("pause");
return 0;
}
07-01
2701
11-29
2001
10-18
1227
01-02
1705
11-24
2647
09-26
410