Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Lớp cơ sở ảo trong C++

Lớp cơ sở ảo (virtual base class) dùng trong kế thừa đa trung gian để tránh đa bản sao của lớp cơ sở gây sự nhầm lẫn (ambiguity).

Ví dụ

#include <iostream>
using namespace std;

class A { public: int a; A() { a = 10; } };
class B : public virtual A { };
class C : public virtual A { };
class D : public B, public C { };

int main() {
    D object;
    cout << "a = " << object.a << endl;
    return 0;
}

Đầu ra

a = 10