新しいC++11キーワードが、メソッド宣言の後に、 ?の代わりにoverride
一貫した方法で強制的に表示される理由について知りたいです。const
virtual
class SomeBaseClass {
virtual void DoPolymorphicBehavior() = 0;
...
class SomeDerrivedClass : public SomeBaseClass {
void DoPolymorphicBehavior() override;
...
なぜ世界でそれを同じ正確な位置に(そしてその代わりに)許可しないのですか?virtual
class SomeBaseClass {
virtual void DoPolymorphicBehavior() = 0;
...
class SomeDerrivedClass : public SomeBaseClass {
override void DoPolymorphicBehavior();
...
これにより、派生クラスのソースファイルで検索と置換を実行して、新しいキーワードを簡単に利用できるようになり、エラーを見つける際にコンパイラの助けを得ることができました。ただし、C ++ 11は構文的に異なる位置に配置されるため、新しいコンパイラ機能を利用するには、文字通り数千行のソースコードを手動で更新する必要があります。
確かに、この選択の背後には正当な理由がありましたか?