C++中可以通过以下方式防止某个函数被派生类继承:

  1. 将函数声明为私有或保护的;
  2. 在函数前面加上关键字final,表示该函数不能被覆盖或派生类继承;
  3. 将函数声明为静态的,静态函数不可以被派生类继承。

例如:

class Base {
public:
    void normalFunction();
    virtual void virtualFunction();
private:
    void privateFunction();
    virtual void finalFunction() final;
    static void staticFunction();
};

class Derived : public Base {
public:
    // 以下函数都无法在派生类中访问
    // void privateFunction();
    // void finalFunction(); // 无法覆盖
    // static void staticFunction();
};
C ++中不能被派生类继承的函数

原文地址: https://www.cveoy.top/t/topic/g95l 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录