主题:各位前辈,小弟新人,前来求助,十万火急!!!
#include<iostream>
#include<string>
using namespace std;
//
class Alist
{
public:
int size;
int fence;
string* listArray;
//以上为数据成员;一个小的顺序表以string数组为载体。fence表示当前位置。size为其大小。
Alist(const int& i=100)
{
size=i;
fence=0;
listArray=new string[size];
}
//构造函数。
~Alist()
{
delete[]listArray;
}
//析构函数
[color=#FF0000] bool operator==(const Alist& d)
{
if(size!=d.size)
{
return false;
}
else
{
for(int i=0;i<size;++i)
{
if(listArray[i]!=d.listArray[i])
{
return false;
}
}
}
return true;
}
//重载==以便于判断两Alist对象是否相等
Alist operator=(const Alist& d)
{
size=d.size;
fence=0;
for(int i=0;i<d.size;++i)
{
listArray[i]=d.listArray[i];
}
//重载=,用以Alist对象赋值用。
}[/color]
};
问题应该是出在两个重载的函数上。
我建一个main函数
头文件包含后
实现这两个。
int main()
{
Alist i;
Alist j=i;
}
会出现内存不可读的错误。
我用的是VC++6.0;
实在是想不通哪儿有问题。请各位高手指教
#include<string>
using namespace std;
//
class Alist
{
public:
int size;
int fence;
string* listArray;
//以上为数据成员;一个小的顺序表以string数组为载体。fence表示当前位置。size为其大小。
Alist(const int& i=100)
{
size=i;
fence=0;
listArray=new string[size];
}
//构造函数。
~Alist()
{
delete[]listArray;
}
//析构函数
[color=#FF0000] bool operator==(const Alist& d)
{
if(size!=d.size)
{
return false;
}
else
{
for(int i=0;i<size;++i)
{
if(listArray[i]!=d.listArray[i])
{
return false;
}
}
}
return true;
}
//重载==以便于判断两Alist对象是否相等
Alist operator=(const Alist& d)
{
size=d.size;
fence=0;
for(int i=0;i<d.size;++i)
{
listArray[i]=d.listArray[i];
}
//重载=,用以Alist对象赋值用。
}[/color]
};
问题应该是出在两个重载的函数上。
我建一个main函数
头文件包含后
实现这两个。
int main()
{
Alist i;
Alist j=i;
}
会出现内存不可读的错误。
我用的是VC++6.0;
实在是想不通哪儿有问题。请各位高手指教