通知
すべてクリア
Topic starter
2002年3月18日 3:03 PM
(環境)
VC++6(SP5)、Windows2000、MFCのSDIでデータを表示する画面を作成しています。
(質問)
クラスのメンバ関数の使用方法について質問です。
例えば、A・Bという二つのクラスがあって、Aクラスのメンバ関数をBクラスの関数内で呼び
出そうとしたい場合はどうしたらよいのでしょうか?
作成しようとしているのが、AクラスにはMSFLEXGRIDの行挿入関数がメンバ関数として、定義
されています。それをBクラス(C***Viewなのですが)で呼びたいのです。
よろしくお願いします。
2002年3月18日 3:15 PM
Bクラス内でAクラスの関数をコールしたいのなら、
その場所でAクラスを認識している必要があります。
例えば、Aクラスのポインタであったり、
CAClass *a;
a->Hoge();
AクラスのインスタンスをBクラスのメンバ変数として保有しているとか。
CAClass m_a;
m_a.Hoge();
あるいはA、B間で継承関係があると、また状況が変わってくるでしょう。
方法はいくつもあるので、設計次第でどの方法がベターなのかが決まるのだと思います。
2002年3月18日 3:57 PM
sugarさんが書かれていますので
ちょっと追加しますと
Aクラスのメンバ関数がスタッティックな関数でパブリックメンバなら
B:Hoga()
{
A::Hoge
}
こんな感じで呼べますね