template<class T>
class Circular {
public:
Circular() {last = 0;}
~Circular();
bool IsEmpty() const {return last = = 0;}
int Length() const;
bool Find(int k, T& x) const;
int Search(const T& x) const;
Circular<T>& Delete(int k, T& x);
Circular<T>& Insert(int k, const T& x);
//void Output(ostream& out) const;
private:
ChainNode<T> *last; // pointer to last node
};
template<class T>
class ChainNode{
friend Circular<T>;
private:
T data;//编号 密码通过数组存储
ChainNode<T> *link;
};
你要在引用之前, 先预定义一下, 在最前面加上:
template<class T>
class ChainNode;