虚函数

虚函数

虚函数的概念

虚函数是基类的非静态成员函数,其访问的权限可以是protected或public,在基类的类定义中定义虚函数的形式为:

virtual 函数返回值类型 虚函数名(形参表)
{
	函数体;
}

虚函数扩展了派生类对象中隐藏基类函数的概念,当程序处于类似类家族的异构对象集合时,要使用这些函数。

纯虚函数的概念

纯虚函数是一种特殊的虚函数,它的一般格式如下:

class <类名>
{
	virtual <类型> <函数名>(参数表)= 0;
	...
}

在很多的情况下,基类中不能对基函数给出有意义的实现,而把它说明为纯虚函数,它的实现留给基类的派生类去做,这就是纯虚函数的作用。

两者之间的区别

虚函数和纯虚函数的区别:纯虚函数是虚函数的一个子集,用于抽象类,含有纯虚函数的类就是抽象类,它不能生成对象。

如何使用纯虚函数

为了方便使用多态特性,常常需要在基类中定义虚函数。在很多情况下,基类本身生成对象是不合常理的。为了解决这一问题,引入了纯虚函数的概念,将函数定义为纯虚函数,则编译器要求在派生类中必须予以重载以实现多态性。同时含有纯虚函数的基类被称为抽象类,它不能生成对象。

posted on 2016-05-02 16:27  dolphinLCJ  阅读(258)  评论(0)    收藏  举报

导航