【初心者歓迎】C/C++室 Ver.19【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0054デフォルトの名無しさん
2005/06/27(月) 18:17:37もう少し設計対象を解析したほうが良いかもね。
class フルーツ { virtual Mix() = 0; }
class りんご : public フルーツ { Mix(); }
りんご anApple;
フルーツ* someFruit = &anApple;
someFruit->Mix(); // ←これで 本来の型に合わせたMix関数が呼ばれるわな。
> 引数のFruit*もついでにオーバーライド?してくれるような
> 方法が知りたかったのですが・・・
趣旨不明。
Mix という行為をするために 引数のFruit から情報を必要とするのなら
フルーツ型に情報取得関数が必要なだけ。(仮想関数かもしれないし、実関数かもしれない
ex) virtaul フルーツ::混ぜるための情報くれ
あと、Mix という行いはフルーツがするべきなのかも検討しといたほうが良いと思われ
※ 混ぜ合わせの結果が元のフルーツに属すべきかどうかとかね。
って設計にまつわるスレは、ココでも良いんかね? (C++ 含むけどさ…
■ このスレッドは過去ログ倉庫に格納されています