zoukankan      html  css  js  c++  java
  • 继承、多态

    虚函数与纯虚函数

    1、虚函数:在基类中必须实现,子类可以不重写;

    2、纯虚函数:在基类中只声明不实现,子类必须重写;基类为纯虚类,不能实例化对象。

    c++11引入关键字 overridefinal 用来解决继承中虚函数的问题。 纯虚函数不可使override 、final关键字。

    override 指明该函数是重载的基类中的一个函数
    final A.禁止该函数从基类继承;B.禁止该函数的重载

    class
    base_class { public: // 用作测试 override 关键字的函数 virtual void show() { std::cout << "base_class::show() "; } // 用作测试 final 关键字的函数 virtual void say() final { std::cout << "base_class::say() "; } }; class demo_class : public base_class { public: // override的作用:指明该函数时重载的基类中的一个函数 // 这里明确指明该函数是继承基类的show函数 virtual void show() override { std::cout << "demo_class::show() "; } // 编译错误: error C3248: “base_class::say”: 声明为“final”的函数无法被“demo_class::say”重写 // virtual void say() override { std::cout << "demo_class::say() "; } };
  • 相关阅读:
    汉语-成语:老谋深算
    汉语-成语:深谋远虑
    汉语-词语:审题
    汉语-成语:未雨绸缪
    汉语-成语:精养蓄锐
    汉语-成语:厚积薄发
    汉语-成语:韬光养晦
    汉语-词语:忍耐
    菌类:羊肚菌
    养生-菌类:松露
  • 原文地址:https://www.cnblogs.com/lovebay/p/14365722.html
Copyright © 2011-2022 走看看