码迷,mamicode.com
首页 > 编程语言 > 详细

C++中纯虚函数

时间:2018-07-08 01:03:59      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:base   派生   function   函数   方法   style   一个   缺省   基类   

1.纯虚函数

virtual ReturnType Function()= 0;

纯虚函数可以让类先具有一个操作名称,而没有操作内容,让派生类在继承时再去具体地给出定义。凡是含有纯虚函数的类叫做抽象类。这种类不能声明对象,只是作为基类为派生类服务。除非在派生类中完全实现基类中所有的的纯虚函数,否则,派生类也变成了抽象类,不能实例化对象。
一般而言纯虚函数的函数体是缺省的,但是也可以给出纯虚函数的函数体(此时纯虚函数变为虚函数),这一点经常被人们忽视,调用纯虚函数的方法为baseclass::virtual function.
 

2.纯虚函数存在的意义

【答案1】四个字:制定标准
纯虚函数是为你的程序制定一种标准,即只要你继承了我,就必须按照我和标准来,实现我所有的方法,否则你也是虚拟的,和JAVA里的接口一样,都是制定标准,为了使程序更加通用化,可重用性提高,让所有实现它或继承自它的子类全部按同一标准来工作,你想想大家都按标准来对程序的益处是什么?
【答案2】在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出老虎、孔雀等子类,但动物本身生成对象明显不合常理。
【答案3】父类中存在纯虚函数,子类中重写(override)该函数,可实现多态。
 

C++中纯虚函数

标签:base   派生   function   函数   方法   style   一个   缺省   基类   

原文地址:https://www.cnblogs.com/xuelisheng/p/9278917.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!