虚拟继承
1. 基类的影响
2. 子类(派生类)的影响
class A { public: A() { std::cout << "A constructor\n"; } }; class B : virtual public A { public: B() { std::cout << "B constructor\n"; } }; class C : virtual public A { public: C() { std::cout << "C constructor\n"; } }; class D : public B, public C { public: D() { std::cout << "D constructor\n"; } }; // 输出顺序:A constructor -> B constructor -> C constructor -> D constructor
示例代码分析
虚拟继承的优缺点总结
总结
Last updated