#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
}