クラス 基底クラス      仮想関数 結果
犬   鳴くことができる動物 鳴く   わん
猫   鳴くことができる動物 鳴く   にゃー
人   鳴くことができる動物 鳴く   あんあん

たとえばこれらのクラスに対して三回鳴けという関数を作るとして
犬猫人それぞれにまったく同じコードを3回も書くのってだるいじゃん?
ところがC++はいい子だから鳴くことができる動物に対して三回鳴けって関数を作れば犬猫人どれでもそのコードが使えちゃうわけ
やったね!三倍コードが短くなったよ!