C++ 多重继承示例:虚拟继承和成员访问
#include
class A { protected: int a; public: A() { a = 1; cout << 'Initializing A.' << endl; } };
class D1: virtual public A { public: D1() { a = a + 1; } };
class D2: virtual public A { public: D2() { a = a + 3; } };
class B: public D1, public D2 { public: B() {} void show() { cout << 'a = ' << a << endl; } };
int main() { B b; b.show(); return 0; }
原文地址: https://www.cveoy.top/t/topic/oX7Q 著作权归作者所有。请勿转载和采集!