有没有人知道 C++ 中的语言特性或技术来防止子类在父类中覆盖特定方法?
class Base {
public:
bool someGuaranteedResult() { return true; }
};
class Child : public Base {
public:
bool someGuaranteedResult() { return false; /* Haha I broke things! */ }
};
即使它不是虚拟的,这仍然是允许的(至少在我使用的 Metrowerks 编译器中),你得到的只是一个关于隐藏非虚拟继承函数 X 的编译时警告。