У меня возникли проблемы с этими узлами, которые я пытаюсь наследовать. Я просмотрел множество примеров в Интернете, но не могу понять, что я делаю неправильно.Синтаксическая ошибка в наследовании
Мой компилятор дает мне эти сообщения:
error: expected identifier before 'public'
error: expected '{' before 'public'
error: expected unqualified-id before 'public'
Любая помощь будет высоко ценится :)
template <typename T>
class Node
{
protected:
Node<T>* next;
Node<T>* prev;
T* data;
public:
Node();
~Node();
Node* getNext();
Node* getPrev();
void setNext(Node<T>*);
void setPrev(Node<T>*);
T* getData();
void setData(T*);
};
template <typename T>
class HeadNode : public Node<T>
{
public:
HeadNode();
~HeadNode();
};
template <typename T>
class TailNode : public Node<T>
{
public:
TailNode(Node<T>*);
~TailNode();
};
template <typename T>
class InternalNode : public Node<T>
{
public:
InternalNode(Node<T>*, Node<T>*, T*);
~InternalNode();
};
template <typename T>
Node<T>::Node()
{
next = 0;
prev = 0;
data = 0;
}
template <typename T>
Node<T>::~Node()
{
//delete data;
}
template <typename T>
Node<T>* Node<T>::getNext()
{
return next;
}
template <typename T>
Node<T>* Node<T>::getPrev()
{
return prev;
}
template <typename T>
void Node<T>::setNext(Node<T>* n)
{
next = n;
}
template <typename T>
void Node<T>::setPrev(Node<T>* n)
{
prev = n;
}
template <typename T>
T* Node<T>::getData()
{
return data;
}
template <typename T>
void Node<T>::setData(T* nData)
{
delete data;
data = nData;
}
template <typename T>
HeadNode<T>::HeadNode() : public Node<T>()
{
next = new TailNode<T>(this);
}
template <typename T>
HeadNode<T>::~HeadNode()
{
}
template <typename T>
TailNode<T>::TailNode(Node<T>* p) : public Node<T>()
{
prev = p;
}
template <typename T>
TailNode<T>::~TailNode()
{
}
template <typename T>
InternalNode<T>::InternalNode(Node<T>* n, Node<T>* p, T* nData): public Node<T>()
{
next = n;
prev = p;
data = nData;
}
template <typename T>
InternalNode<T>::~InternalNode()
{
//delete data;
}
Может не воспроизводить, проголосовали за закрытие. –
О, извините, я не копировал весь источник. Убирается с закрытым голосованием. –