Здравствуйте! У меня возникла проблема при реализации наследования:
template <class T>
class super_array{
protected:
unsigned int size, curFile;// size of sorter; number of last file we used
public:
super_array(unsigned int x = 2, string file = "outp"){
sizeOp = x;
out = file;
size = 0;
curFile = 0;
}
~super_array(){
for (int i = 1; i <= curFile; ++ i){
remove(intToStr(i).c_str());
}
}
void push(T& x);
T getNext();
bool empty();
};
template <class T>
class sorter : public super_array<T>{
public:
void push(T& x);
T getNext();
void sorting();
bool empty();
};
template <class T>
class shuffler : public super_array<T>{
public:
void push(T& x);
T getNext();
void shuffling();
bool empty();
};
template<class T>
void sorter<T>::sorting(){
}
Когда я описываю sorting, компилятор ругается, что не описаны переменные size и curFile. А когда вызывается конструктор для sorter не вызывается конструктор super_array, хотя по идее должен. Помогите, пожалуйста, разобраться в чем дело.