What is Virtual Base Class in C++?

Virtual base classes are used in virtual inheritance in a way of preventing multiple “instances” of a given class appearing in an inheritance hierarchy when using multiple inheritances.

What is Virtual Base Class in C++?

#include <iostream> 
using namespace std; 
class A { 
public: 
	int a; 
	A() // constructor 
	{ 
		a = 50; 
	} 
}; 

class B : public virtual A { 
}; 

class C : public virtual A { 
}; 

class D : public B, public C { 
}; 

int main() 
{ 
	D object; // object creation of class d 
	cout << "a = " << object.a << endl; 

	return 0; 
} 

Output of Program

a = 50