抽象クラスについて
Posted: 2015年6月18日(木) 16:02
#include <cstdio>
// C++では、main関数の戻り値はint型にしなければならない。
#define main dumny(){} int main
struct base {
virtual void baseMsd() = 0;
};
struct hoge : public base {
void baseMsd() {
puts("hoge");
}
};
struct hage : public base {
void baseMsd() {
puts("hage");
}
void hageta() {
puts("hageta");
}
};
base* base[2];
void main(void)
{
base[0]=new hoge;
base[1]=new hage;
base[0]->baseMsd(); //baseの純粋仮想関数をhogeでオーバーライドされている。
((hage*)base[1])->hageta(); //hageクラスで新規に作ったメソッドを呼び出したい。
}