/**

* 书本:【ThinkingInC++】

* 功能:使用delete void*可能会出错

* 时间:2014年10月5日14:31:43

* 作者:cutter_point

*/

#include

using namespace std;

class Object

{

void* data; //一个void*类型的指针

const int size;

const char id;

public:

Object(int sz, char c) : size(sz), id(c)

{

data=new char[size];

cout<<"创建一个类 "<

};

int main()

{

Object* a=new Object(40, 'a');

delete a;

void* b=new Object(40, 'b');

delete b; //显示地结果是b没有调用析构函数

//因为不知道b的类型是什么。那么程序运行的结果是吧b的对象内存回收了。可是

//类里面的data指向的类容没有被析构,

return 0;

}

查看原文