派生クラスをオーバーライドするときはvirtualつけようぜ
C++ では、継承とvirtualってやつを使ってオーバーライドすることができる
virtualをつけるのは、基底のクラスだけでよいみたいだけど、
派生のクラスにもつけておかないと訳が分からなくなるらしい。
たとえば、以下のような場合、
//Base.h class Base { virtual void doSomething(); … }; //Derived.h class Derived : public Base { void doSomething(); … };
このDerivedの定義だけをみてdoSomething関数がオーバーライドの関数なのかどうか判断するのが難しい。
ということで、virtualをつけて以下のようにするとよいらしい。
//Base.h class Base { virtual void doSomething(); … }; //Derived.h class Derived : public Base { // ここにもvirtual付けるのよ!! virtual void doSomething(); … };
まあ、動作結果はどちらも同じらしいので、コメント入れておくだけでも
良いかもしれないけどね!!
まあ、俺はvirtual好きだからね。つける方にするよ。
現実より仮想世界。2次元!!(2.5次元もいいかもね。)
では。
ディスカッション
コメント一覧
まだ、コメントがありません