https://ideone.com/wCpVQ1

Javaとは違いC++は基底クラスのインスタンスを派生クラスにダウンキャスト出来てしまうのですが、
これは正しい挙動なのでしょうか。

またオーバーライドした関数が呼べるのは理解できるのですが、
派生クラス独自の関数も呼べてしまうのは腑に落ちません。