Mega Code Archive

 
Categories / C++ / Function
 

Virtual function and public inheritance

#include <iostream> using namespace std; class BaseClass { public:   virtual void virtualFunction() {     cout << "Base\n";   } }; class DerivedClass1 : public BaseClass { public:   void virtualFunction() {     cout << "First derivation\n";   } }; class DerivedClass2 : public BaseClass { }; int main() {   BaseClass baseObject;   BaseClass *p;   DerivedClass1 derivedObject1;   DerivedClass2 derivedObject2;   p = &baseObject;   p->virtualFunction();  // access BaseClass's virtualFunction()   p = &derivedObject1;   p->virtualFunction(); // access DerivedClass1's virtualFunction()   p = &derivedObject2;   p->virtualFunction();    return 0; }