| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 万千只cnm 于 2021-9-23 17:44 编辑  
- 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--;
 
 -        
 
 - }
 
  复制代码 请问哪里错了呀 到copy函数直接断了 
以下下是部分内容 
- 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;
 
  
- }
 
  复制代码 
 |   
 
 
 
 |