>>950
ポインタ取っ払って直接インスタンス持つ様にできる状況を考えてみれ。
new してるってことは動的にメモリを確保してるってことで、それに用が無いなら、new も delete も必要ない。

class A {
int dummyMember;
public:
A():
dummyMember(0)
{}
~A(){}
};

class B {
A a0;
A a1;
A array[10];
public:
B(){}
~B(){}
}

int main(int argc, char* argv) {
A instanceA;
B instanceB;
return 0;
}

上のコードでは、instanceAもinstanceBもスタック上に作られてるからnewはいらない。
クラスBの中身の a0, a1, array[] は、Bの中に含まれている。個別にnewする必要はない。
instanceAもinstanceBもreturnで抜ける際に勝手にそれぞれのデストラクタが呼び出される。
当然deleteもいらない。