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() "; } };
  • 相关阅读:
    Java8 Optional使用方式
    ABAC框架-casbin
    Java数据脱敏(手机号|邮箱号|身份证号|银行卡号)
    使用OpenOffice将office文件转为pdf
    在线审批流设计
    Java 将带逗号的字符串转为List
    Java8 lambda常用操作
    Markdown合并单元格
    本博客已搬迁至rcst.xyz
    涂色(题解)
  • 原文地址:https://www.cnblogs.com/lovebay/p/14365722.html
Copyright © 2011-2022 走看看