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

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

  • 相关阅读:
    如何分配资源和管理资源
    让Project把周六和周日也计算工期
    Project设置子任务
    pytest-配置文件
    pytest-fixture
    pytest-标记
    pytest-断言
    pytest-参数化
    pytest入门
    maven-插件
  • 原文地址:https://www.cnblogs.com/nzbbody/p/4572691.html
Copyright © 2011-2022 走看看