#include using namespace std; class BaseT { public: virtual void Greeting() { cout << "Greeting from the base " << endl; } virtual void WriteMe() = 0; protected: int data; }; class Child1T: virtual public BaseT { public: virtual void Greeting() override { cout << "Greeting from child1" << endl ; } virtual void WriteMe() override { cout << "Hello from child 1" << endl; } }; class Child2T: public virtual BaseT { public: virtual void WriteMe() override { cout << "Hello from child 2" << endl; } }; class GrandChildT: public Child2T, public Child1T { public: void WriteMe() override { Child2T::WriteMe(); cout << " In the grandchild " << endl; } }; int main( ){ GrandChildT a; a.Greeting(); a.WriteMe(); return 0; }