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