虚函数、抽象类以及接口类

1.函数指针

      指针指向函数:函数的本质是一段二进制代码,我们用指针指向它的开头,就可以从开头往下执行。

下图是一个虚函数表和虚函数指针的例子:

首先通过虚函数表指针 找到虚函数表,,然后通过偏移找到虚函数指针,,最后找到相应的虚函数。

2.纯虚函数

      纯虚函数没有函数体 ,后面还要加上"= 0"。

如果是虚函数,在虚函数表中它的位置上就是实实在在的虚函数地址信息,如果是纯虚函数,那虚函数表中就是0。

 

3.抽象类

定义:包含纯虚函数的类叫做抽象类。

        抽象类无法实例化对象

4.接口类

如果类中仅含有纯虚函数,那么就称之为接口类。 接口类中没有数据成员,只有成员函数。

下图是一个接口类的示例:

 

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

posted @ 2016-08-16 22:12  lzycw  阅读(167)  评论(0)    收藏  举报