***すれ立てるまでもない質問はここで 第22刷***
■ このスレッドは過去ログ倉庫に格納されています
0180デフォルトの名無しさん
NGNGうーんそのやり方は重宝してたんですけど、それだと
virtual関数の利点が生かせない
(インスタンスがrectでもshapeでもshapeのrender()が呼ばれてしまう)
んですよ。
class shape{
int type
void rect_render();
void line_render();
}
void AllRender()
{
for(int i=0;i<NUM_SHAPE_MAX;i++)
{
if(shapelist[i] != NULL){
switch(shapelist[i]->type)
{
case RECT:
shapelist[i]->rect_render();
case LINE:
shapelist[i]->line_render();
}
}
という実装も考えましたが、これだと四角なら四角の独自情報を持たせる事が
できない。今の最も有力なのは、インスタンスを共用体の配列と
関数の配列からなる構造体にしマクロを駆使してオブジェクト志向っぽく
見せかける、という方法ですがなんかスマートじゃない感じがして・・・
■ このスレッドは過去ログ倉庫に格納されています