クラスの値の取得

[戻る]
Kon 2008/02/27(水) 16:36:12
Fruit というクラスの情報を、他のクラスの関数に配布する方法なのですが、
現在は、下記のような感じで、Sub.h にはポインタを渡しています。
データベースを扱う場合、このような方法は、スタンダードなのでしょうか?
それとも、Yaoya や super から直接値をとるのが良いのでしょうか?
スマートな方法が有りましたら、紹介して頂きたく、よろしくお願いします。
長文になって、申し訳ないです。

注)↓は略して書いているので動作確認はしていません。
Fruit.h-----------------------
public ref class Fruit {
public:
    int Apple;
    int Grape;
};-------------------------------
Controller.h--------------------
public ref class Cont{
public:
    Fruit^ fru_cont;
public: System::Void GetFruit(){
    fru_cont -> Apple = 100;
    fru_cont -> Grape = 200;
}
};-------------------------------
main.h-------------------------
public ref class main{
public: System::Void Kouri(){
    Cont cont;
    Sub sub;
    Fruit fru;
    int uriage;

    fru = cont -> fru_cont;
    
    sub.Yaoya(&uriage, fru);
    sub.super(&uriage, fru);
}
};-------------------------------
Sub.h-------------------------------
class Sub {
Void Yaoya(int *uriage, Fruit^ fru)
{
    *uriage = *uriage + fru->Apple * 10;
    *uriage = *uriage + fru->Grape * 5;
}
Void super(int *uriage, Fruit^ fru)
{
    *uriage = *uriage + fru->Apple * 20;
    *uriage = *uriage + fru->Grape * 5;
}
};-------------------------------

επιστημη [HomePage] 2008/02/27(水) 16:44:33
あなたの頭の中(設計書)では、Fruit,Cont,Subはそれぞれ"何"をモデル化したものです
か?

Kon 2008/02/27(水) 16:44:35
すみません。書き忘れました。

PCはWinXP、Visual C++ 2005 Express Edition を使用しています。
Windowsフォームアプリケーション でプロジェクトを作成しています。

よろしくお願いします。

Kon 2008/02/27(水) 16:53:49
επιστημη さん、いつもありがとうございます。m(_ _)m

Contというのは実際はUIで、ユーザーからの値の出入りを受け付ける窓口。
Subは、その値をもらって、色々処理をする関数の集まりです。
Fruitは、値の器かな・・・。

こんな説明で、聞かれたことに答えてますか?

επιστημη [HomePage] 2008/02/27(水) 17:01:53
えーと、Cont(UI)とSub(Processes)との間で
Fruit(Value-container)を行き来させるようなイメージ
でしょうか。
なんにせよ、そのイメージと実装との間に大きな食い違いが
なければそれでいいと思いますけども。

Kon 2008/02/27(水) 17:35:47
Subの中では、Fruitの内容を変化させないので、
行き来というほど双方向にやりとりしない感じですが、
そんなイメージです。

どの関数の引数にも Fruit^ fru とありますし、
Sub の階層が、深くなってきたので、
ちょっとまどろっこしいかなと思ったのです。

επιστημη [HomePage] 2008/02/28(木) 09:36:35
> どの関数の引数にも Fruit^ fru とありますし、
> Sub の階層が、深くなってきたので、
> ちょっとまどろっこしいかなと思ったのです。

その「まどろっこしさ」を説明してくれんと...

Kon 2008/02/29(金) 08:54:36
επιστημη さんありがとうございます。
レスが遅くなって、申し訳ありません。

う〜ん。うまく言えないのですが、
Fruit(Value-container)は、変化しない値なので、
引数で値を引っ張り回すような感覚に
なんだか違和感を感じたのです。
ですので、他にスタンダードな方法があればと思って、お尋ねしました。

まどろっこしいと思うのは、私の感覚であって、
皆さんが同様に、感じるワケではないんですよね。
引数で持っていく方法が、トリッキーではないのなら、
プログラム自体は、上記の記述でうまく行きそうな感じなので、
このままの状態で進めていこうと思います。

いつもご親切して頂き、感謝しております。
どうもありがとうございました。m(_ _)m

Kon 2008/02/29(金) 09:03:36
[[解決]]
チェック忘れました。

古いスレッドには追加発言できません。