#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;
}
|