虚函数、抽象类以及接口类
1.函数指针
指针指向函数:函数的本质是一段二进制代码,我们用指针指向它的开头,就可以从开头往下执行。
下图是一个虚函数表和虚函数指针的例子:

首先通过虚函数表指针 找到虚函数表,,然后通过偏移找到虚函数指针,,最后找到相应的虚函数。
2.纯虚函数
纯虚函数没有函数体 ,后面还要加上"= 0"。
如果是虚函数,在虚函数表中它的位置上就是实实在在的虚函数地址信息,如果是纯虚函数,那虚函数表中就是0。
3.抽象类
定义:包含纯虚函数的类叫做抽象类。
抽象类无法实例化对象。
4.接口类
如果类中仅含有纯虚函数,那么就称之为接口类。 接口类中没有数据成员,只有成员函数。
下图是一个接口类的示例:

在实际的使用中,接口类更多的表达的是一种能力或者协议。

浙公网安备 33010602011771号