class Base { private: int m_age; protected: int m_rank; public: Base() { cout <<"Base created"<<endl;} //virtual // Ensures to invoke actual object destructor ~Base() { cout<<"Base destroyed"<<endl;} virtual void DisplayAction(); }; class Derived1 : public Base { public: Derived1() { cout << "Derived1 created" << endl; } ~Derived1() { cout << "Derived1 destroyed" << endl; } //void setage(int m){ m_age=m;} void setrank(int m){ m_rank=m;} void DisplayAction(){cout <<" rank= "<<m_rank;} };
virtual void DisplayAction(){cout << "(Base) rank= " << m_rank;} }; // end of Base
virtual void DisplayAction() = 0; }; // end of Base
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)