class Parent {
int parentX;
public:
Parent(){;}
virtual ~Parent(){;}
virtual int getId(){return 1;}
};
class Child : public Parent
{
int childX;
public:
Child(){;}
virtual int getId(){return 2;}
};
void doStuff(Parent* p)
{
printf("%d", p->getId());
}
int main(void)
{
// Assume we have a instance of Director, and call the doStuff function here:
doStuff(new Child()); // Gives error
return 0;
}