c++ 多线程 类成员函数_C++知识点 28:空指针访问类成员函数

#define _CRT_SECURE_NO_WARNINGS
#include
using namespace std;// 这部分需要知道:空指针
// 1、可以访问什么样的成员函数
// 2、不能访问什么样的成员函数,为什么不能访问

class Person
{
public:
void showPersonAge() // 显示对象年龄函数
{
if (this == NULL) // 理解:为什么要加条件判断
{
return;
}
cout << "Person age = " << m_Age << endl;
}/* 说明: 类对象 调用 showPersonAge() 会使用 m_Age,本质是使用 this->m_Age 如果采用空指针访问,则需要访问 NILL->m_Age,而 NULL 中不含有任何内容,显然报错 注意:涉及空指针访问成员函数时候,需要加一个条件判断 小结:空指针是否能成功访问成员函数,要看他是否需要使用this指针,需要使用则不能成功 */
void showClassName() // 显示类名字函数
{
cout << "class name is Person" << endl; // 对象调用 showClassName() 不需要使用this指针
}
public:
int m_Age = 10;
};
void test01()
{
Person * p = NULL;
p->showClassName(); // 访问成功 因为没有用到 this 指针
p->showPersonAge(); // 访问失败 ,因为函数中用到this,而 this 是 NULL
}

7739b142dea01ab9a10d66e1dfc17273.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值