オブジェクト指向でアクションゲーム製作にチャレンジしているのですが、
敵キャラのクラスの管理で困っています。言語はC++です。

スーパーマリオで例えると、カメの基本クラスを作り、そこから
ノコノコ、パタパタその他を派生クラスで作ろうと思ったのですが、
これらをクラスの配列で管理しようとすると、
当然ながら型が違うので上手くいきません。

できれば、

for(i=0;i<N;i++){
  配列[i].move();  ← move() の処理は、敵キャラごとに異なる
}

といった感じで使いたいのですが・・・。
みなさん、どうしているのでしょうか。
それとも、根本的に考え方が違っていますか?