详解C++成员函数的override和final说明符的用法

2020-01-06 14:24:31于丽

在类声明中使用 final 时,base-classes 是声明的可选部分。
下面的示例使用 final 关键字指定无法重写虚函数。


class BaseClass
{
  virtual void func() final;
};

class DerivedClass: public BaseClass
{
  virtual void func(); // compiler error: attempting to 
             // override a final function
};

有关如何指定可以重写成员函数的信息,请参阅 override 说明符"。
下一个示例使用 final 关键字指定无法继承类。


class BaseClass final 
{
};

class DerivedClass: public BaseClass // compiler error: BaseClass is 
                   // marked as non-inheritable
{
};
 

注:相关教程知识阅读请移步到C++教程频道。