打开网易新闻 查看精彩图片

6.1多态和虚函数的基本概念

打开网易新闻 查看更多视频

虚函数 :在类的定义中,前面有 virtual 关键字的成员 函数就是虚函数。 class base { virtual int get() ; }; int base::get() { } , virtual 关键字只用在类定义里的函数声明中, 写函数体时不用。

多态的表现形式一 :派生类的指针可以赋给基类指针。 通过基类指针调用基类和派生类中的同名虚函数时: (1)若该指针指向一个基类的对象,那么被调用 是基类的虚函数;

(2)若该指针指向一个派生类的对象,那么被调 用的是派生类的虚函数。 这种机制就叫做“多态”。

多态的表现形式二 :派生类的对象可以赋给基类引用 ,通过基类引用调用基类和派生类中的同名虚函数时: (1)若该引用引用的是一个基类的对象,那么被 调用是基类的虚函数;

(2)若该引用引用的是一个派生类的对象,那么 被调用的是派生类的虚函数。 这种机制也叫做“多态”。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

多态的作用:

在面向对象的程序设计中使用多态,能够增强 程序的可扩充性,即程序需要修改或增加功能 的时候,需要改动和增加的代码较少。