如何在C ++中继承模板类?

时间:2016-12-04 12:44:06

标签: c++ templates inheritance

我是Java人,并尝试在类模板上编写继承,我遇到了很多错误:模板专业化需要'模板<>'或使用课堂模板'数组'需要模板参数。你能帮助我纠正我对代码或思维方式的错误吗?我有这样的课程:

template <typename T>

class array {
public:
virtual void randomFunction() = 0;

protected:
T* values;
int size; // number of values
};

这里是intArray.h

class intArray: public array<int>{
public:
  intArray();
  void randomFunction();
private:
};

这里是intArray.cpp

intArray::intArray() {
this->size = 1;
this->values = new int[1];
}

void intArray::randomFunction() {
this->values[0] = 5; 
}

我想要的是迭代这些对象,如:

int main() {
  vector<array> arrayList;
  arrayList.push_back(intArray());
  arrayList.push_back(doubleArray());
  arrayList.push_back(stringArray());

  anotherFunction(&arrayList);
}

void anotherFunction(vector<array> *list) {
for(array a: (*list)) {
  a.randomFunction();
}
}

0 个答案:

没有答案