c++中空指针的运用 c++ 简单易懂

#include<iostream> //c++中标准的输入和输出流
using namespace std; //该语句的意思是使用标准的名空间
class person//定义一个类

{public:
public://该类中所有的变量和属性都是public的,即公开的,
//那么在发生继承的时候,儿子所有从父类重继承的对象的属性也是公开的
//private是私有的意思
//protected是受保护的意思
	void show()
	{
		if (this == NULL)//如果该指针是null的话,那么就返回
			//程序遇到return就返回了
		{
			return;
		}
		else
		{//如果不为空,就输出该人的年龄
			cout << this->m_age << endl;
		}
	}
void get(int age)
{
	age = m_age;//这句话是错的,有这句话程序不能正常运行,因为ge在默认情况下是this->age,
	//而此时this是一个空指针,而空指针是不能访问成员变量的
	cout << "age=" << m_age << endl;
}
	int m_age;
};
void test01()
{
	
	person* p = NULL;//该指向该类的指针是一个空指针
	cout << p->m_age << endl;//错的(程序会崩溃)//注意空指针是不能访问成员变量的
	//但是空指针可以访问成员函数
	p->show();//空指针可以访问成员函数,并且程序可以正常运行
}
int main(void)
{
	test01();
	system("pause");
	/*
system(“PAUSE”);和system(“pause”);作用和效果一样,因为dos命令是不区分大小写的。
system(“PAUSE”) 是暂停的意思,等待用户信号;不然控制台程序会一闪即过,你来不及看到执行结果。*/
	return 0;//程序运行成功会返回一个0
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值