引用第2楼perfect_刘于2006-11-19 14:29发表的:将那个重载函数定义为int &operator [](int index)返回值为return *(ia+index);
引用第8楼perfect_刘于2006-11-19 17:09发表的:还有你程序内存泄露问题大大的有啊~~~!!你写的这个类真的是一个可怕的类!!!呵呵
引用第6楼perfect_刘于2006-11-19 17:03发表的:全部重新赋值就是4...
引用第12楼perfect_刘于2006-11-19 17:38发表的:有用 ,但是你后面调用 !=时候又对array[4]赋值了嘛!!
引用第14楼perfect_刘于2006-11-19 18:13发表的:其实就两点,不用的delete掉,还有不要两次delete同一块内存!你要有你自己就是指针的感觉,内存中随你指!!呵呵
void IntArray::inti(int size, int* array){ _size = size; ia = new int[_size]; for(int ix=0; ix<_size; ++ix) if(!array) ia[ix] = 0; else ia[ix] = array[ix]; }
引用第16楼perfect_刘于2006-11-19 19:41发表的:就是 你对ia重新分配一块内存,但是ia以前指向的内存你就没有管了!!析构函数只是对象销毁时候调用的,此时也没有调用应该先释放在从新分配