すいません、C++で生成されたクラスインスタンスの解放について質問があります。
以下のコード中の"※"が付いたコメント部分について、いったいどちらが正しいのでしょうか。

void test()
{
 int i,cnt;

 cnt = 3;

 // この↓クラスは定義/実装済みとして...
 TestClass *arrCls;
 arrCls = (TestClass*)malloc(sizeof(TestClass)*cnt);

 // こんな初期化はいらない?
 for(i=0;i<cnt;i++) arrCls[i] = *(new TestClass());

 arrCls[0].doSomething();

 // ※ 下でメモリをfreeにするなら、個別にdeleteはいらない?
 for(i=0;i<cnt;i++) delete &arrCls2[i];

 // ※ 上で個別にdeleteするなら、ここでfreeはいらない?
 free(arrCls2);

}