首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

初学者请问个简单有关问题

2012-03-24 
菜鸟请教个简单问题C/C++ code#include iostreamusing namespace stdclass employee{public:employee(i

菜鸟请教个简单问题

C/C++ code
#include <iostream>using namespace std;class employee{public:    employee(int a,char *b,int c,char *d,char *e)    {        name=new char[30];        sex=new char[5];        position=new char[30];        code=a;name=b;age=c;sex=d;position=e;    }    [color=#FF0000]~employee()    {        if (name != NULL)        {            delete[] name;            name = NULL;        }        if (sex != NULL)        {            delete[] sex;            sex = NULL;        }        if (position != NULL)        {            delete[] position;            position = NULL;        }    }[/color]private:    int code; //编号    char *name; //姓名    int age; //年龄    char *sex; //性别    char *position; //从属部门};int main(){     employee insert(1,"cd",23 ,"男","xxx");    return 0;}


~employee()出内存错,为什么?


[解决办法]
你的构造函数让全C++区震惊.
[解决办法]
C/C++ code
delete []name;//因为你在构造函数中name=b,所以在此时你实际上释放的是b的地址开始的内存,所以错误 

热点排行