【发布时间】:2010-09-06 06:12:51
【问题描述】:
是否有人知道 C++ 中的语言特性或技术可以防止子类覆盖父类中的特定方法?
class Base {
public:
bool someGuaranteedResult() { return true; }
};
class Child : public Base {
public:
bool someGuaranteedResult() { return false; /* Haha I broke things! */ }
};
即使它不是虚拟的,这仍然是允许的(至少在我使用的 Metrowerks 编译器中),你得到的只是一个关于隐藏非虚拟继承函数 X 的编译时警告。
【问题讨论】:
标签: c++ overriding metrowerks