赋值能不能写为 纯虚函数

来源:百度知道 编辑:UC知道 时间:2024/05/15 08:19:54
基类:
template< typename T>
class LinearList{
public:
LinearList(){};
virtual ~LinearList(){};
virtual int Size() const = 0;
virtual int Length() const = 0;
virtual int Search(T & x) const = 0;
virtual int Locate(int i) const = 0;
virtual T getData(int i) const = 0;
virtual void setData(int i,const T &x) = 0;
virtual bool Insert( int i,const T &x) = 0;
virtual bool Remove(int i, T &x) = 0;
virtual bool IsEmpty() const = 0;
virtual bool IsFull() const = 0;
virtual void Sort() = 0;
virtual void input() = 0;
virtual void output() = 0;
virtual LinearList<T>& operator=(const LinearList<T> &L)= 0;
};
基类就上面这么多,没有别的实现了,可是好像问题就出在这个方面。
子类:
template< typename T>
class SeqList:public LinearList<T>
{
protected:
int maxSize;
T * data;
int last;
void reSize(int newSize);
public:
SeqList(int s

加上下面的代码 这样就对啦~

SeqList<T>& operator= (const SeqList<T> &L);

template<typename T>
SeqList<T>& SeqList<T>::operator=(const SeqList<T>& L)
{
maxSize = L.Size();
last = L.Length()-1;
data = new T[maxSize];
if(data == NULL)
exit(1);
for(int i= 1; i < last +1; ++i)
data[i-1] = getData(i);
return *this;
}