#include using namespace std;

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; }

C++ 多重继承示例:虚拟继承和成员访问

原文地址: https://www.cveoy.top/t/topic/oX7Q 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录