私はc ++が初めてです。「シンボル 'リスト' を解決できませんでした」というエラーが表示されます。Eclipse に取り組んでいますが、何が問題なのかわかりません...
List.h は、Vector が継承するジェネリック クラスである親クラスの宣言です。
#ifndef LIST_H_
#define LIST_H_
template <class E> class List {
protected:
int size;
public:
virtual ~List();
virtual void add(E o) = 0;
virtual E get(int index) = 0;
int getSize();
};
template <class E> List<E>::~List() {
}
template <class E> int List<E>::getSize() {
return size;
}
#endif /* LIST_H_ */
Vector.h List から継承する Vector ヘッダー ファイルで、List の純粋仮想メソッドを実装します。List から継承すると、Vector のクラス宣言で「Symbol 'List' could not be resolve」というエラーが発生します。
#include "List.h"
template <class E> class Vector: public List<E>{
private:
class Node {
public:
E value;
Node* next;
Node(E value): value(value), next(0) {}
};
typedef Node* PNode;
PNode first;
public:
Vector();
virtual ~Vector();
void add(E o);
E get(int index);
virtual void add(E o);
virtual E get(int index);
};