C++11新特性——1.4-1.5 final和override

  • 1.4 final

原文:https://subingwen.cn/cpp/final/

  • 总结:

1. final 限制某个类不能被继承,或限制某个虚函数不能被重写

2. final 修饰 虚函数 或者 类

3. final 关键字写到 虚函数 或 类 后面

class Base
{
public:
    virtual void test()
    {
        cout << "Base class...";
    }
};

class Child : public Base
{
public:
    void test() final   // ★★★
    {
        cout << "Child class...";
    }
};

class GrandChild final: public Child    // ★★★
{
public:
    // 语法错误, 不允许重写
    //void test()
    //{
    //    cout << "GrandChild class...";
    //}
};

 

  • 1.5 override

原文:https://subingwen.cn/cpp/final/

  • 多态发生的三个条件

1. 有继承关系

2. 子类重写父类虚函数

3. 父类指针或引用指向子类对象

 

override 保证重写虚函数名字的正确性;和final一样,override 要写到方法后面

(〃>_<;〃)(〃>_<;〃)(〃>_<;〃)

posted @   我会变强的  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示