欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

继承

程序员文章站 2022-06-19 21:17:29
...

继承

class RichMan	//一个快要退休的富豪
{
public:		//自己(基类),创业伙伴(有元),儿子(子类),其他人(外部)都可访问
	int m_company;
private:	//仅自己(基类),创业伙伴(有元)可以访问
	int m_money;
	int m_car;
protected:	//自己(基类),创业伙伴(有元),儿子(子类)可以访问,其他人(外部)不可访问
	int m_house;
};
/*不管采用何种继承方式,爸爸的钱和汽车都还是爸爸自己的;
翻译成计算机语言就是父类private成员对子类不可见*/

/*在中国的民间故事中,大儿子多半勤劳勇敢,二儿子多半又懒又馋;
*小儿子和大儿子一样品行很好,就是不太勇敢*/

//大儿子选择了公有继承,效果如下
//大儿子继续经营爸爸的公司,住爸爸的房子,但是爸爸的车子和钱是拿不到了
//public成员保持不变;protected成员也保持不变
//一切照旧
class oldestChild :public RichMan
{
public:
	int m_company;
protected:
	int m_house;
};


//二儿子选择私有继承,可以判断二儿子是一个自私的人
//自己独占公司和房子,除了自己和有元,任何方式不得访问
//public 和 protected成员权限都变成private;
//一句话说,能得到的全都要变成自己独有的
class secondChild :
	private RichMan
{
private:
	int m_company;
	int m_house;
};

//畏畏缩缩的小儿子选择的保护继承,公司和房子自此外人是不可以访问的。
//public的权限变成protected,protected保持不变
class youngestChild:
	protected RichMan
{
protected:
	int m_company;
	int m_house;
};

 

相关标签: 继承