成员函数指针 类内函数指针

时间:2023-05-03 13:16/span> 作者:tiger 分类: 新知 浏览:1082 评论:0

define _CRT_SECURE_NO_WARNINGS

include<iostream>

using namespace std;

// 这部分需要知道:空指针

// 1、可以访问什么样的成员函数

// 2、不能访问什么样的成员函数,为什么不能访问

class Person

{

public:

void showPersonAge() // 显示对象年龄函数

{

if (this == NULL) // 理解:为什么要加条件判断

{

return;

}

cout << &34;Person age = &34; << m_Age << endl;

}

/*

说明: 类对象 调用 showPersonAge() 会使用 m_Age,本质是使用 this->m_Age

如果采用空指针访问,则需要访问 NILL->m_Age,而 NULL 中不含有任何内容,显然报错

注意:涉及空指针访问成员函数时候,需要加一个条件判断

小结:空指针是否能成功访问成员函数,要看他是否需要使用this指针,需要使用则不能成功

*/

void showClassName() // 显示类名字函数

{

cout << &34;class name is Person&34; << endl; // 对象调用 showClassName() 不需要使用this指针

}

public:

int m_Age = 10;

};

void test01()

{

Person * p = NULL;

p->showClassName(); // 访问成功 因为没有用到 this 指针

p->showPersonAge(); // 访问失败 ,因为函数中用到this,而 this 是 NULL

}

文章评论