В спецификации С++ деструктор по умолчанию удаляет все нестатические элементы. Тем не менее, я не могу этого добиться.
У меня есть это:
class N {
public:
~N() {
std::cout << "Destroying object of type N";
}
};
class M {
public:
M() {
n = new N;
}
// ~M() { //this should happen by default
// delete n;
// }
private:
N* n;
};
Затем это должно напечатать данное сообщение, но это не так:
M* m = new M();
delete m; //this should invoke the default destructor