配列でデフォルトコンストラクタとか
class Sub1 : public Base {}

public継承とかC++の香りが漂ってくるね

C#だとclassは常にポインタ越しにアクセスするからクラスの配列は実際は
MyClass*の配列になってるんだっていえば分かりやすいのかな