OOP 2
■ このスレッドは過去ログ倉庫に格納されています
0123デフォルトの名無しさん
2010/11/16(火) 02:06:29vector<auto *> g_icon_havings;
add_wnd_base( auto *wnd_base ){ push_back( &g_wnd_bases, wnd_base ); }
add_icon_having( auto *icon_having ){ push_back( &g_icon_havings, icon_having ); }
void update()
{
//for_eachの仕様は適当。まだ定まってないからな。擬似言語。
for_each( g_wnd_bases ){ f( _1 ); }
for_each( g_icon_havings ){ g( _1 ); }
}
ほらよ。
g_wnd_basesに突っ込まれりゃ「f」が呼ばれるし、
g_icon_havingsに突っ込まれりゃ「g」が呼ばれる。
ただそれだけ。対応するfやgが無きゃリンクエラーだ。
いたって単純。
継承がどうとかいちいち考えるから、頭がおかしくなるんだ。
ところで、型値はポインタ宣言ごとのローカルなものなんだけど、
ポインタからポインタへの代入時は当然型値の変換も行うんだぜ。
そりゃローカルからローカルだから、変換は必要だ罠。
だから、それ用のテーブルも作る。
グローバルな型値も、動的モジュールのロードに備えて、裏では持つだろうけど、
現段階ではポインタには持たせないつもり。
■ このスレッドは過去ログ倉庫に格納されています