C++程序设计题

[复制链接]
查看11 | 回复1 | 2009-7-5 23:40:40 | 显示全部楼层 |阅读模式
程序设计题
下面是整型安全数组类的一部分:试完善类的定义,使下段程序能够正常运行且不会出现内存泄漏。
#include
using namespace std;
class Array
{
public:
Array(int x)
{
count=x;
p=new int[count];
}
int & operator [](int x)
{return *(p+x);}
protected:
int count;
int *p;
}
int main()
{
Array a(10);
Array b(a);
//后续程序段
}
请高手帮忙!

回复

使用道具 举报

千问 | 2009-7-5 23:40:40 | 显示全部楼层
既然main中出现了Array b(a),并且Array中有成员是指针,那么默认的拷贝构造函数就不能正常工作了,需要自己写一个Array(const Array &ra){count=ra.count;p=new int[count];}另外,因为动态给成员变量申请了空间,那么需要在析构函数中释放,所以默认的析构函数也不能正常工作了,所以要自己写一个~Array(){delete[]p;}; 另外,类定义的结尾}后面的;不能少,否则编译时会报错...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行