c++11学习 override 和 final 关键字

首先来说下这两个关键字 overrde 和 final  这两个关键字用于c++类的继承控制,

   直接上代码:

class AAA
{
public:                            //首先AAA类声明了3个方法
    AAA() {}

    virtual void method_1(){}
    virtual int method_2(){}
    virtual int method_3() = 0;
};
class BBB : public AAA    //BBB从AAA类继承
{
public:

    virtual void method_1() override{}    //override 关键字用于显示的指出 这是在重写基类的virtual方法
    virtual int method_2() final{}            //禁止子类再继续继承重写这个函数
    virtual int method_3() override final{}  //同样的禁止子类再继续继承,并显示的指出这是重写的基类的virtual方法
    //virtual void method_4() override;   //Error:子类并没有这个方法
};
class CCC final: public BBB  //CCC继承自BBB ,并且用了final关键字 ,限制了CCC类不可被继承
{
public:
    CCC() {}

    virtual void method_1() override{}  //重写BBB的方法
    //virtual int method_2() {}  //       
    //virtual int method_3() {} //Error: 这两个方法都是由final关键字限定无法被继承的
};

//class DDD : public CCC  //Error:CCC类由final限定无法被继承
//{
//public:
//    DDD() {}
//};



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值