Overriding a base class method in a derived class : derived class « Class « C++ Tutorial






#include <iostream>
 
 class BaseClass
 {
 public:
     // constructors
     BaseClass() { std::cout << "BaseClass constructor...\n"; }
     ~BaseClass() { std::cout << "BaseClass destructor...\n"; }
 
     //Other methods
     void Talk()const { std::cout << "BaseClass sound!\n"; }
     void Sleep()const { std::cout << "I'm sleeping.\n"; }
 
 protected:
     int itsAge;
     int itsWeight;
 };
 
 class DerivedClass : public BaseClass
 {
 public:
     // Constructors
     DerivedClass(){ std::cout << "DerivedClass constructor...\n"; }
     ~DerivedClass(){ std::cout << "DerivedClass destructor...\n"; }
 
     // Other methods
     void Walk() { std::cout << "walk...\n"; }
     void Eat() { std::cout << "eat...\n"; }
     void Talk()const { std::cout << "talk!\n"; }
 
 };
 
 int main()
 {
     BaseClass baseObject;
     DerivedClass derivedObject;
     baseObject.Talk();
     derivedObject.Talk();
     return 0;
 }
BaseClass constructor...
BaseClass constructor...
DerivedClass constructor...
BaseClass sound!
talk!
DerivedClass destructor...
BaseClass destructor...
BaseClass destructor...








9.18.derived class
9.18.1.Add a constructor to derived class
9.18.2.Call base's constructor and destructor from derived class
9.18.3.Access member of base and use member of derived class
9.18.4.Overriding a base class method in a derived class
9.18.5.Hiding methods
9.18.6.Calling base method from overridden method.
9.18.7.Using virtual methods
9.18.8.Inherit base class twice
9.18.9.dynamic_cast: Cast from Derived * to Base *