#include using namespace std; class abc { int a; }; class xyz : public virtual abc { int b; }; int main() { abc obj; xyz obj1;
With virtual base classes, the position of the base object relative to an instance of the derived object is not always the same, so there is a pointer that tracks that.