Я один раз в семестр работа (собственный двойной связанный список), и наш учитель хочет это определение класса DoubleList:C++ проблемы с преобразованием
template <typename T> //just part of all methods
class DoubleList {
public:
DoubleList(void); //We HAVE TO follow this definitions
void AddFirst(const T &); //const!
T &AccessActual(void);
T RemoveFirst(void);
}
Мой вопрос, как я могу определить узел? AddFirst
имеют аргумент const и другие методы не имеют. Данные должны быть установлены в конструкторе, а затем они не могут быть изменены. Является ли эта задача настолько ограниченной или есть другие способы выполнить задачу?
Вот мой фактический Node
:
template <class U>
class Node{
Node<U> * next;
Node<U> * previous;
const U * data;
public:
Node(const U *data){ //
next = NULL;
previous = NULL;
this->data = data;
}
void SetNext(Node<U> *next) {
this->next = next;
}
Node<U> *GetNext(){ return next; }
void SetPrevious(Node<U> *previous) {
this->previous = previous;
}
Node<U> *GetPrevious(){ return previous; }
const U *GetData() { return data; }
};
Вам не нужно '(аннулируются)' в объявлении метода. –
Ed Heal: Это имеет значение? : D – Pivoman
Да - Это демонстрирует отсутствие понимания языка. –