多态的基本概念

这篇很水,主要是给自己看,大家酌情略过。

虚函数(虚函数可以参与多态,普通函数不行):
在类的定义中,前面有virtual关键字的成员函数就是虚函数。
virtual关键字只用在类定义的函数声明里,写函数体的时候不用
构造函数和静态成员函数不能是虚函数

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

派生类的对象可以赋给基类引用
通过基类引用调用基类和派生类的同名虚函数时:
若该引用引用的是基类的对象,被调用的是基类的虚函数,若该引用引用的是一个派生类的对象,被调用的就是一个派生类的虚函数

多态就是当有同名虚函数的时候,指针或者引用可以根据具体情况选择调用基类或者派生类的虚函数。

猜你喜欢

转载自blog.csdn.net/alike_meng/article/details/86624014