Call virtual function through object pointer
#include <iostream>
using namespace std;
class base
{
public:
virtual void vfunc(void)
{
cout << "This is base's vfunc()." << endl;
}
};
class derived1 : public base
{
public:
void vfunc(void)
{
cout << "This is derived1's vfunc()." << endl;
}
};
class derived2 : public derived1 { };
int main(void)
{
base *p, b;
derived1 d1;
derived2 d2;
p = &b;
p->vfunc();
p = &d1;
p->vfunc();
p = &d2;
p->vfunc();
}
Related examples in the same category