【初心者歓迎】C/C++室 Ver.46【環境依存OK】 at TECH
[2ch|▼Menu]
557:デフォルトの名無しさん
08/01/10 15:24:17
>>556
callbackAを呼ぶときはpにはA*をvoid*にしたものを渡せばいいし
callbackBを呼ぶときはpにはB*をvoid*にしたものを渡せばいいが
どうしてもpにはD*を渡したいけどDは公開できないというのはわりと無理め

いくらか妥協するなら例えば
class Z {
virtual void dummy(){}
};
みたいなダミーを用意して
class D: public C, public Z { ... };
としてDにZを継承させ
void callbackA(Z *p) {
A *a = dynamic_cast<A *>(p);
a->MesA();
}
って方法もある

引数の型を変えたくないなら
void callbackA(void *p) {
A *a = dynamic_cast<A *>((Z*)p);
a->MesA();
}
とか


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4254日前に更新/166 KB
担当:undef