zoukankan      html  css  js  c++  java
  • C++中纯虚函数

    转载:https://www.cnblogs.com/xuelisheng/p/9278917.html

    1.纯虚函数

    virtual ReturnType Function()= 0;

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

    2.纯虚函数存在的意义

    【答案1】四个字:制定标准
    纯虚函数是为你的程序制定一种标准,即只要你继承了我,就必须按照我和标准来,实现我所有的方法,否则你也是虚拟的,和JAVA里的接口一样,都是制定标准,为了使程序更加通用化,可重用性提高,让所有实现它或继承自它的子类全部按同一标准来工作,你想想大家都按标准来对程序的益处是什么?
    【答案2】在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出老虎、孔雀等子类,但动物本身生成对象明显不合常理。
    【答案3】父类中存在纯虚函数,子类中重写(override)该函数,可实现多态。
  • 相关阅读:
    strip()、rstrip()和lstrip()
    Vim 中快速移动系列(1)
    Python中的read(), readline(), readlines()
    Python 列表解析(列表生成式)
    Python lambda 表达式介绍
    Python中sort()和sorted()的区别
    js 高级
    maven学习笔记
    Maven之settings.xml详解
    Eclipse 学习笔记
  • 原文地址:https://www.cnblogs.com/YangARTuan/p/14111970.html
Copyright © 2011-2022 走看看