1、父类指针指向父类对象
当父类指针指向父类对象时,即不涉及到子类对象,就是一个普通的类对象的定义,这里就不做说明。
2、父类指针指向子类对象(存在覆盖关系)
#include <iostream>
using namespace std;
class Base{
public:
virtual void f()
{
cout << "Base::f" << endl;
g();
}
virtual void g()
{
cout << "Base::g" << endl;
}
};
class Derive:public Base{
public:
void f()
{
cout << "Derive::f" << endl;
Base::f();
}