c++中的final说明符

        final是c++11引入的说明符,可以修饰在类或者类成员函数尾部。

        final修饰类时,表示该类不能被继承。

class A final 
{
};

        上例表明,类A是一个不能被继承的类。

class A {
public:
  virtual void bar();
};

class B final: public A {
public:
  void bar() override; 
};

        类B继承了类A,类B是一个不能被继承的类,因为它有final修饰符。

        final修饰类成员函数时,声明了成员函数是一个虚函数,且该虚函数不可在派生类中被覆盖。

class A {
public:
  virtual void bar();
};

class B : public A {
public:
  void bar() override final; 
};

        类B继承了类A,类B也可以被其它类继承。但是类B中的成员函数bar(),不能被它的子类重写,因为该函数有final修饰。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值