メソッドのオーバーライド

Perlのようなご気楽言語でプログラムしてたので、C++の言語仕様がものすごく変に感じる。
そもそも、最近の言語だと、親クラスを継承した時に同じメソッドの定義があると、勝手にオーバーライドしてくれるので、それが当たり前だと思ってたんだけど、C++の場合、クラスの宣言文内でvirtual修飾詞を付けとかいないといけないのね。

無知なだけなんだけど、戸惑ってしまうなぁ。。。