子クラスが親クラスの特定のメソッドをオーバーライドするのを防ぐための C++ の言語機能または手法を知っている人はいますか?
class Base {
public:
bool someGuaranteedResult() { return true; }
};
class Child : public Base {
public:
bool someGuaranteedResult() { return false; /* Haha I broke things! */ }
};
仮想ではありませんが、これはまだ許可されています (少なくとも私が使用している Metrowerks コンパイラでは)。非仮想継承関数 X を非表示にすることに関するコンパイル時の警告だけが表示されます。