|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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;
- }
复制代码
|
|