菱形继承
菱形继承也称为钻石型继承或重复继承,它指的是基类被某个派生类简单重复继承了多次。这样,派生类对象中拥有多份基类成员实例,这会占据更多的内存空间,还会引起调用基类成员时的二义性。
代码
class B
{
public:
int ib;
public:
B(int i=1) :ib(i){
}
virtual void f() {
cout << "B::f()" << endl; }
virtual void Bf() {
cout << "B::Bf()" << endl; }
};
class B1 : public B