C++中类的继承中有多态性的概念,所谓的多态就是在类里使用虚函数后,用父类作为对象指针,来正确的调用不同子类或父类来作为相应虚函数。虚基类实际就是继承时使用virtual关键字来定义,为的是让在多重继承时遇到相同的基类时只保留一份,以确定其使用那个类。
//父类A
class A
{
private:
int a;
int b;
public:
virtual int sum();
};
//子类B
class B:public A
{
...
public:
<span style="white-space:pre"> </span>int sum();
};
//申请一个A类对象,
A a;
B *b=&a;
<span style="font-size:18px;">这样下来如果调用b::sum()函数的时候,编译器并不会立刻调用A类中的sum();而是在运行的时候根据上下文来获得对象的实际类型,并决定应该调用父类的还是子类的sum()函数。这种实现就叫做多态。</span>