|  | 
 
| 
本帖最后由 万千只cnm 于 2021-9-23 17:44 编辑
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 请问哪里错了呀 到copy函数直接断了复制代码template<class T>
void
arrayList<T>::push_back(T theElement){
     
     if(listSize == arrayLength)
         ChangeArray();//默认翻两倍 
      copy_backward(element+arrayLength-listSize,element+arrayLength-1,element+arrayLength-2);
      element[arrayLength-1]=theElement;
      listSize++;
}
template<class T>
void
arrayList<T>::pop_back(){
     if(empty()){
         cout<<"error"<<endl;
         exit(1);
     }
        copy_backward(element+arrayLength-listSize,element+arrayLength-2,element+arrayLength-1);
        listSize--;
       
}
以下下是部分内容
 
 复制代码template<class T>
class arrayList:public linearList<T> //从抽象类派生出的具体类(必须全部实现基类的函数才算)
{
     public:
      arrayList(int initCapacity =10); //构造函数
      arrayList(const arrayList<T>&);  //赋值函数 
      arrayList(const arrayList<T>&,const int ReInit = 0);
      ~arrayList(){
          delete [] element;
 void push_back(T theElement);
        void pop_back();
     protected:
           
           T *element;
           int arrayLength;
           int listSize;
      }
 复制代码int main(){
    
   arrayList<int> a(10),b(20);
      a.push_back(9);
      a.push_back(100);
      a.push_back(999);
      cout<<a[9]<<endl;
      a.pop_back();
      cout<<a[9];
      
     
    return 0;
}
 | 
 |