看准到底是那个类的对象,有没有函数重写。
class A
{
public:
virtual void print()
{
cout <<"A" << endl;
}
};
class B: public A
{
public:
void print()
{
cout << "B" << endl;
}
};
int main()
{
B b;
A& ptr1 = b;
A* ptr2 = new B();
ptr1.print();
ptr2->print();
return 0;
}
B
B