为了保证虚基类在派生类中只继承一次,应当在该基类的所有直接派生类中声明为虚基类,否则仍然会出现对基类的多次继承。
使用多重继承时要十分小心,经常会出现二义性问题。
很多程序员不提倡在程序中使用多重继承,只有在比较简单和不易出现二义性的情况或实在必要时才使用多重继承,能用单一继承解决的问题就不要使用多重继承。也正由于这个原因,C++之后的很多面向对象的编程语言(如Java、Smalltalk、C#、PHP等)并不支持多重继承。
使用多重继承时要十分小心,经常会出现二义性问题。
很多程序员不提倡在程序中使用多重继承,只有在比较简单和不易出现二义性的情况或实在必要时才使用多重继承,能用单一继承解决的问题就不要使用多重继承。也正由于这个原因,C++之后的很多面向对象的编程语言(如Java、Smalltalk、C#、PHP等)并不支持多重继承。
2016-07-06
在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成对象。
2016-07-06
为什么老师在编写Soldier代码时没有#include "Person.h" ,却能用到Person类?
2016-07-06
Worker
Children
ChildLabourer
JIM
work
12
play
~ChildLabourer
~Children
~Worker
Children
ChildLabourer
JIM
work
12
play
~ChildLabourer
~Children
~Worker
Person
Worker
Children
ChildLabourer
eat
JIM
work
12
play
~ChildLabourer
~Children
~Worker
~Person
Worker
Children
ChildLabourer
eat
JIM
work
12
play
~ChildLabourer
~Children
~Worker
~Person