摘要:
这一条款是说的是公有继承的逻辑,如果使用继承,而且继承是公有继承的话,一定要确保子类是一种父类(is-a关系)。这种逻辑可能与生活中的常理不相符,比如企鹅是生蛋的,所有企鹅是鸟类的一种,直观来看,我们可以用公有继承描述: 1 class Bird 2 { 3 public: 4 virtual void fly(){cout << "it can fly." << endl;} 5 }; 6 7 class Penguin: public Bird 8 { 9 // fly()被继承过来了,可以覆写一个企鹅的fly()方法,也可以直接用父类的10 } 阅读全文