class Malloc {
public:
Malloc(): p(NULL) {
p = malloc(100);
}
~Malloc() {
free(p);
}
void *p;
};
void Malloc_test()
{
Malloc *m = new Malloc(); // 调用构造函数Malloc::Malloc();
free(m); // 错误:未调用析构函数Malloc::~Malloc();
}
void Malloc_test2()
{
Malloc *m2 = (Malloc*)malloc(sizeof(Malloc)); // 错误:未调用构造函数Malloc::Malloc();
delete m2; // 调用析构函数Malloc::~Malloc();
}