一,公有继承public:
public继承意味着关系是"is a"关系。适用在base classes 身上的每一件事情一定适用于derived classes身上,因为每一个derived class对象一定是一个base class,也就是说derived可以替换掉base class来完成base class的功能。
下面尝试举个例子来理解下:
先看看企鹅和鸟的关系
class Bird
{
public:
virtual void fly(); //鸟可以飞
...
};
class Penguin:public Bird //企鹅是一种鸟。难道企鹅会飞?
{
...
};