速记:
- 虚函数/虚任务理解:被virtual修饰的类成员函数称为虚函数。虚函数是动态绑定的。在不改变基类的前提下,如果子类需要修改基类的行为(即重写与基类函数同名的函数),就应该在基类中将相应的函数声明为虚函数。虚函数是多态的一种重要实现方式。
- 父类的指针可以指向子类的对象
- 父类的指针在指向子类对象时,可以动态索引到子类重写的子类方法。
- 子类的指针不可以直接指向父类的对象
定义一个基类的句柄,如果是单态的话,句柄的类型就决定了对象的类型。比方说句柄的类型是类A,那么不管这个句柄指向什么类型的对象,它都是调用A里面的方法。
而多态是说一个类的指针,可以根据指向的对象的类型,显示出该对象对应的特性,也就是调用对象所对应的类型里面的方法。比方说句柄的类型是类A,该句柄指向的对象类型是类B,则会调用B里面的方法。
- 1、多态的实现方式:
虚函数(virtual):被virtual修饰的类成员函数称为虚函数 - 2、基类中某一成员函数声明为
virtual虚函数后,派生类中的同名函数(同名、同参、同类型)自动生成虚函数
文章目录
一、多态
1.1、多态含义
通过父类的指针调用子类的对象方法。
1.2、多态应用场景
在不改变原有代码的基础上,想覆盖原有代码类中的函数;
1.3、多态代码实例
poly.sv
class bird;
int a = 'h1;
int b = 'h2;
function void display();
订阅专栏 解锁全文
1470

被折叠的 条评论
为什么被折叠?



