【发布时间】:2011-03-09 03:29:16
【问题描述】:
Virtual Public Class用于类,保证类的一个对象只继承一个子对象。
class L { /* ... */ }; // indirect base class
class B1 : virtual public L { /* ... */ };
class B2 : virtual public L { /* ... */ };
class D : public B1, public B2 { /* ... */ }; // valid
当我们不将它用于单继承时,我们使用虚拟公共是否有副作用。例如,是
class L { /* ... */ }; // indirect base class
class B1 : virtual public L { /* ... */ };
class D : public B1 { /* ... */ }; // valid
同
class L { /* ... */ }; // indirect base class
class B1 : public L { /* ... */ };
class D : public B1 { /* ... */ }; // valid
?我的意思是,对于所有可能的情况,将父类设为虚拟是否安全?
【问题讨论】: