Кто-нибудь знает о языковой функции или технике на C++, чтобы предотвратить переход от дочернего класса к определенному методу в родительском классе?Есть ли способ предотвратить переопределение метода в подклассах?
class Base {
public:
bool someGuaranteedResult() { return true; }
};
class Child : public Base {
public:
bool someGuaranteedResult() { return false; /* Haha I broke things! */ }
};
Несмотря на то, что это не виртуальные, это все еще разрешено (по крайней мере, в компиляторе Metrowerks я использую), все, что вы получите это время компиляции предупреждение о сокрытии невиртуальный унаследовали функции X.
, но мы не можем назвать этот метод другими классами. ? – anshulkatta 2014-07-01 08:35:00
Обратите внимание, что существует спецификатор `final`, добавленный с C++ 11: http://stackoverflow.com/a/16906116/1025391 – moooeeeep 2015-06-11 14:56:11