空指针访问类成员函数

Posted rtblogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了空指针访问类成员函数相关的知识,希望对你有一定的参考价值。

//空指针访问类成员函数

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 
 5 class Person
 6 {
 7 public:
 8     void showinfo()
 9     {
10         cout << "空指针访问成员函数成功" << endl;
11     }
12 
13     void showinfo1()
14     {
15         cout << age << endl;
16     }
17 
18     void showinfo2()
19     {
20         cout << this->age << endl;
21     }
22 
23     void showinfo3()
24     {
25         if (this==NULL)
26         {
27             return;
28         }
29         cout << this->age << endl;
30     }
31         
32 private:
33     int age;
34 };
35 
36 int main()
37 {
38     Person *p = NULL;
39     p->showinfo();
40     //p->showinfo1();空指针报错
41     //p->showinfo2();空指针报错
42     p->showinfo3();//判断空值习惯,增强代码健壮性,不报错
43 
44     system("pause");
45     return 0;
46 }

 

以上是关于空指针访问类成员函数的主要内容,如果未能解决你的问题,请参考以下文章

试图通过指针访问嵌套类的成员函数

成员变量和成员函数分开存储

访问片段的子视图时出现空指针异常

为什么通过空指针(NULL)能够正确调用类的部分成员函数

我可以举一个现实生活中的例子,其中非静态成员函数不访问通过空指针调用的对象会导致可观察到的问题吗? [复制]

C++|详解类成员指针:数据成员指针和成员函数指针及应用场合