2006-06-23-01-手練も手管も尽きそうで
>> Site top >> weblog >> 月別アーカイブ >> 2006年06月のlog >> 2006-06-23-01-手練も手管も尽きそうで
最終更新日付:2006/06/23 01:00:00
手練も手管も尽きそうで
2006 年 06 月 23 日
さて、ポリモーフィズムという最大の武器がコードリソースでは奪われてしまう C++。この状況で DA 向けにどのようなカプセル化ができるか? これをずっと考えていた。
基本的には、仮想関数というのは継承関係という観点からは上から下(つまり基底から派生)にメソッドを呼び出す仕組みだと考えていい。基底クラスのポインタから実際の派生クラスオブジェクトのメソッドが呼べるし、テンプレートメソッドのイメージなら、基底クラス内から純粋仮想関数を呼び出すことで処理を拡張・変更できる。このカラクリがあるからこそ、MFC や POL のようなクラスライブラリフレームワークは成り立っているのだ。
で、コードリソースではそれが使えない。うむむ...仮想関数は一切使えない。つまり、継承関係を階層化だけに限定して使用するという意味だ。これは、下から上(つまり派生から基底)に向かってしかメソッドを呼べないことになる...RTTI や例外処理は使えなくても何とかなるが、仮想関数が使用できないのは陰郎にとっては致命的だ。う〜ん、これでは柔軟な設計はできないな...
ここまで読んでくれた奇特な方には申し訳ないが、すぐには結論が出そうに無い...嗚呼。
コメント
このページのタグ
Page tag : Palm
Copyright(C) 2005-2021 project-enigma.
Generated by CL-PREFAB.