Кто-нибудь знает какую-либо языковую функцию или технику в C ++, чтобы запретить дочернему классу перегружать определенный метод в родительском классе?
class Base {
public:
bool someGuaranteedResult() { return true; }
};
class Child : public Base {
public:
bool someGuaranteedResult() { return false; /* Haha I broke things! */ }
};
Несмотря на то, что это не виртуально, это все же разрешено (по крайней мере, в используемом мной компиляторе Metrowerks), все, что вы получаете, это предупреждение во время компиляции о скрытии не виртуальной унаследованной функции X.