質問: mc3; 上記ソースの流れをすることのメリットがわからないのです。 派生クラスを、基本クラスに代入することでどのようなメリットが生まれるのでしょうか...。 (ダウンキャストも今いちするメリットが見えないのですが・・・。) ご教授お願いします。
回答: class 書けるもの { public: virtual void 書く() =0; }; class 黒板 : public 書けるもの { public: virtual void 書く() { .... } }; class usbメモリ : public 書けるもの { public: virtual void 書く() { .... } }; ... 書けるもの* いろいろ[n]; // この中に黒板、usbメモリ... ありとあらゆる書けるもの for ( int i = 0; i < n; ++i ) { 書けるもの* writable = いろいろ[i]; writeble->書く(); } なんてな。 書けるものでありさえすれば、それが何かを知らぬまま 書く() ことができます。