C++相談室2

このエントリーをはてなブックマークに追加
380デフォルトの名無しさん
>>379
> 共通のSetProxy()を宣言して、ダウンキャストできるか調べる方法も
> ありますよね。それとどちらが良いのかなとも。
他のクラスがどのように A, AA と関わってくるかによって最適解は違ってきますが、
こちらの方法だとコンパイル時にエラーを検出できないのが悲しいですね。

> OOP は難しいです…。(^^;)
クラス階層の設計に関しては、必ずしも「正しい」解答がないですからね。

ただし、経験から生み出された定石があって「デザインパターン」と呼ばれています。
C++ では言語レベルでな継承・集約をサポートしていますが、これに加えてデザイン
パターンも習得すると、設計の柔軟性が格段に上がります。

参考文献
 オブジェクト指向における再利用のためのデザインパターン 改訂版
 ガンマ,エリック ヘルム,リチャード ジョンソン,ラルフ ブリシディース,ジョン
 ソフトバンクパブリッシング (1999)ISBN:4797311126

デザインパターンの骸骨たち
http://www11.u-page.so-net.ne.jp/tk9/ys_oota/mdp/