网上看的文章啰里啰嗦,于是自己总结一个放这里看。
继承是从子类的角度讲的,派生是从基类的角度讲的,其实是一回事。
先说明3个访问控制关键字,对应class A的成员函数:
(可将class A的派生类视为子女,同目录下的其他classes视为朋友,不同目录下的其他classes视为其他人)
public:子女、朋友以及其他人可以访问。
protected:子女、朋友可以访问。
private:只有自己可以访问。
(需要注意的一点是:类的对象不能调用该类的私有和保护的成员函数。其实是很好理解的,public成员函数是可以提供给外部调用的接口,而protected和private成员函数只能由类调用。)
继承
| public | protected | private |
共有继承 | public | protected | 不可见 |
私有继承 | private | private | 不可见 |
保护继承 | protected | protected | 不可见 |
单重继承
class 派生类名: 访问控制关键字 基类名 |
多重继承
class 派生类名: 访问控制关键字 基类名1, 访问控制关键字 基类名2,... |
继承链
类A派生类B,类B派 生类C,则称类A是类B的直接基类,类B是类C的直接基类,类A是类C的间接基类,产生多层次的继承关系,类的层次结构也叫做继承链。