声明一个继承final的类

时间:2014-07-01 07:03:12

标签: c++ c++11

是否可以声明从anther类(BarBarBase继承的类(final)?或者当一个类继承自另一个类(使用虚方法)时,C ++是否限制它声明各个方法final

class BarBase
{
public:
    virtual void DoSomething() = 0;
};

class Bar : public BarBase final // not legal to add 'final' here, why?
{
public:
    void DoSomething(); final // Legal to add 'final' here, but doing it for every method is less than ideal.
};

1 个答案:

答案 0 :(得分:4)

作为评论中的状态,关键字final放错了位置。正确的语法是:

class Bar final : public BarBase 
{
    // ...
};