当前位置:首页 C++ > 正文

c++中final关键字限制继承、限制虚函数重写

作者:野牛程序员:2024-01-03 12:20:59 C++阅读 2810

final关键字在C++中用于限制继承和虚函数的重写。当在基类的成员函数或者类声明中使用final关键字时,它会阻止其他类继承该类或者重写该函数。

例如,在基类中使用final来限制继承:

class Base final {
    // 类的定义
};

上述代码中,final关键字防止其他类继承自Base类。

在虚函数的情况下,final关键字可以阻止派生类重写该虚函数:

class Base {
public:
    virtual void foo() const final {
        // 函数定义
    }
};

class Derived : public Base {
    // 试图重写 foo() 将会导致编译错误
    // 因为在 Base 中,foo() 被声明为 final
};

在这个例子中,Derived类试图重写Base类中被声明为final的虚函数foo(),这将导致编译错误。

总的来说,final关键字提供了一种机制,能够明确地指定某个类不能被继承,或者某个虚函数不能被重写。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击