我们为什么需要c中的虚函数

C++中的虚函数的作用主要是实现了多态的机制,简单来说就是用父类的指针指向其子类的实例,然后通过父类的指针调用子类的成员函数实现。

先定义两个类:动物类(Animal),具备吃普通食物的行为,猫类(Cat)具备吃老鼠的行为。

在主函数里如此调用代码:

这里没有用到virtual关键字,它们的输出行为符合预期:一个吃普通食物,一个吃老鼠。现在稍微更改一下,以便通过中间函数(一个简单的函数的示例)调用eat():

此时在主函数里调用如下:

把一只猫送到func(),但它不吃老鼠,这跟设想的结果完全不一样,解决办法就是给动物类的eat()函数添加virtual将其变为虚函数:




转载请注明:http://www.aierlanlan.com/cyrz/3491.html

  • 上一篇文章:
  •   
  • 下一篇文章: