我是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();
}
}