メモリの動的確保で迷うことが多いので大体のパターンを書いてみます。
int* p1 = new int; //1個のメモリを確保
int* p2 = new int(10); //1個のメモリを確保して10で初期化
int* p3 = new int[10]; //10個のメモリを確保
string* p4 = new string; //1個のメモリを確保
string* p5 = new string("hogehoge"); //1個のメモリを確保してhogehogeで初期化
string* p6 = new string[10]; //10このメモリを確保
自分で作ったクラスでも同様に動的確保ができまs