前言
第一次在网上公布文字内容,之前始终想做,但因为各种事件耽搁或者本人没有勇气键入第一个字符而始终迁延。为了使本人所学的常识可能零碎的保留,这件事也非做不可了。本文属于一个系列内容,即《C++ 学习杂记》,各文章不会像《C++ primer》那样有序而齐备,只是为了记录本人遇到问题时波及的相干概念的论述。
本系列第一篇文章讲述的是 C ++ 中各种继承的个性,包含私有继承、公有继承、爱护继承。
各种继承个性
实际上,对于 C ++ 继承的个性齐全能够由一张表来论述(摘抄自私有继承,公有继承,爱护继承的区别)
如表 1 所示,对一个类来说,蕴含三种成员:公有成员、私有成员、爱护成员。上面别离围绕三种派生进行探讨。
1. 私有派生
模式:class a : public b
基类公有成员:是不能被拜访的,基类的公有成员只能被基类的成员函数拜访到,或者是申明为友元函数(类)才能够拜访
基类私有成员:是能够拜访的,即私有派生类的实例可间接调用基类的私有成员(变量或函数等)
基类爱护成员:也是能够拜访的,但只能在类定义中的成员函数能够调用,不能在内部通过私有派生类的实例进行调用
2. 公有派生
模式:class a : private b
基类公有成员:也是不能被拜访的,理由同上
基类私有成员:对于公有派生类,即便基类的成员为私有,在公有派生的条件下,也全变成公有。意思是类的成员函数能够调用,在里面不能通过实例来间接调用
基类爱护成员:间接把基类的爱护成员变换成公有的,后续解决同上
3. 爱护派生
模式:class a : protected b
基类公有成员:同样,也是不能拜访的,理由同上
基类私有成员:对于爱护派生,将基类的私有成员变成爱护派生类的爱护成员
基类爱护成员:基类的爱护成员转变为爱护派生类的爱护成员