fork download
  1. #include <cstdio>
  2. // C++では、main関数の戻り値はint型にしなければならない。
  3. #define main dumny(){} int main
  4.  
  5. struct base {
  6. virtual void baseMsd() = 0;
  7. };
  8.  
  9. struct hoge : public base {
  10. void baseMsd() {
  11. puts("hoge");
  12. }
  13. };
  14.  
  15. struct hage : public base {
  16. void baseMsd() {
  17. puts("hage");
  18. }
  19. void hageta() {
  20. puts("hageta");
  21. }
  22. };
  23.  
  24. base* base[2];
  25.  
  26. void main(void)
  27. {
  28. base[0]=new hoge;
  29. base[1]=new hage;
  30.  
  31. base[0]->baseMsd(); //baseの純粋仮想関数をhogeでオーバーライドされている。
  32. ((hage*)base[1])->hageta(); //hageクラスで新規に作ったメソッドを呼び出したい。
  33. }
  34.  
Success #stdin #stdout 0s 3228KB
stdin
Standard input is empty
stdout
hoge
hageta