C ++中不能被派生类继承的函数
C++中可以通过以下方式防止某个函数被派生类继承:
- 将函数声明为私有或保护的;
- 在函数前面加上关键字final,表示该函数不能被覆盖或派生类继承;
- 将函数声明为静态的,静态函数不可以被派生类继承。
例如:
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();
};
原文地址: https://www.cveoy.top/t/topic/g95l 著作权归作者所有。请勿转载和采集!