4.4
c++中的空指针也是可以调用成员函数的,但是需要注意是否用到this指针。
如果用到this指针需要判断代码的健壮性。
示例:
#include
using namespace std;
class Person
{
//类的话若没有直接声明为共有的他会默认为私有的
public:
void showPersonName()
{
/这种情况下不需要进行this指针的判断。因为没有用到非静态成员变量,
非静态成员变量使用时会用到this指针 而创建的空指针类会把this指针置为空。 /
cout<<”this is Rerson class”<
void showPersonAge()
{
//如果用空指针调用函数时 用到了类的成员 则需要进行this指针的判断。
if(this==NULL)
{
return ;
}
//如果没有this的话会报错应为传入的指针为NULL;
cout<<”年龄为:”<
int m_Age;
};
void test()
{
Person *p=NULL;
p->showPersonName();
p->showPersonAge();
return ;
}
int main()
{
test();
return 0;
}