zoukankan      html  css  js  c++  java
  • C++中的纯虚方法

    在学习数据结构中优先级队列时遇到纯虚方法的定义,一时没想起来,便查了一下。

    1、纯虚方法解决什么样的问题,为什么要设计出纯虚方法?
    考虑下面的需求,基类声明了一个方法,这个方法只针对具体的子类才有意义,比如Animal的Eat()方法,调用Animal的Eat方法是没有意义的。比如其子类Dog吃肉,Cat吃鱼,而Animal吃什么呢,没有意义。
    2、形如:virtual void Eat()=0; 使Animal成为抽象类,不能实例化Animal,同时要求子类必须重写。
    3、需要注意的是,纯虚方法是可以提供实现的,子类也可以调用父类的纯虚方法。
    4、在Java中,可以使用abstract指明一个类是抽象类。但是在C++中,要让一个类成为抽象类,需要声明一个或者多个纯虚方法。
    5、继承的时候,父类不需要加class,如下:class Dog : public Animal

  • 相关阅读:
    洛谷 PT2 First Step (ファーストステップ)
    Mask-D、绮梦与空谷幽兰
    僕らの手には何もないけど、
    魔都蹭课、观光、酱油记
    竞赛计划
    糖果
    点名
    数字对
    字符串哈希
    负环
  • 原文地址:https://www.cnblogs.com/baizihua/p/10126455.html
Copyright © 2011-2022 走看看