关于C++多继承问题小记

Code
如上代码,首先如果不在D的继承中,将一个父类(B或C)加上virtual关键字的继承的话,编译会出错,因为在D中会有两条路径继承A的f()函数,会产生冲突。

然后D的对象直接调用f()也会出错,会有二义性,解决方法是加上类的修饰符。

D d;
d.B::f();
d.A::f();

posted @ 2009-03-30 02:00  江湖飘  阅读(219)  评论(0编辑  收藏  举报