新闻资讯
看你所看,想你所想

空虚函式

空虚函式

简介

空虚函式是一个完整的函式,它有函式体,只是函式体内没有任何语句罢了。一个类中,如果含有空虚函式,但是没有纯虚函式的情况下,是可以实例化对象的。

函式区别

纯虚函式只有声明,没有实现。含有纯虚函式的类不可以实例化对象。
在程式开发过程中有时需要在类的某个子孙中定义虚函式,但并不是必须保持派生层次中虚函式链条上的每个虚函式都需要具体实现,如果某层虚函式无需重新实现但又必须提供该虚函式的说明,则只需要在相应层定义空的虚函式即可,这样就可以维繫类派生层次中虚函式路径的存在。
举例:
例子一
class Shape
{
public:
virtual float GetArea()=0;//纯虚函式
virtual float GetPerim()=0;//纯虚函式
};
把其中的纯虚函式换成空虚函式
也就是如下
class Shape
{
public:
virtual float GetArea
{}//空虚函式
virtual float GetPerim
{}//空虚函式
};
例子二
class A{
virtual void fun()=0;//纯虚函式
};//只要类中含有一个纯虚函式,这样的类不可以实例化对象。
class B{
virtual void fun(){}//空虚函式,是一个完整的函式,有函式体定义{}
};//这样的类可以实例化对象。

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com