Итак, у меня есть базовый связанный класс Queue с основными функциями, такими как front(), empty() и т. Д., И я превратил его в шаблон. Теперь у меня также есть класс под названием Студент. Имеет 2 значения: имя студента и идентификатор студента. Я могу напечатать студент со следующим кодом ..Шаблоны классов C++ (очередь в классе)
Student me("My Name", 2);
cout << me << endl;
Вот моя функция отображения для студента:
void display(ostream &out) const {
out << "Student Name: " << name << "\tStudent Id: " << id
<< "\tAddress: " << this << endl;
}
Теперь он отлично работает, вы можете увидеть основной вывод. Теперь я объявляю очередь, как так ..
Queue<Student> qstu;
Хранение данных в этой очереди в порядке, я могу добавить новые значения и такие .. теперь, что я пытаюсь сделать, это распечатать вся моя очередь студенты с:
cout << qstu << endl;
Но это просто возвращает адрес .. вот моя функция отображения для очередей.
void display(ostream & out) const {
NodePointer ptr;
ptr = myFront;
while(ptr != NULL) {
out << ptr->data << " ";
ptr = ptr->next;
}
out << endl;
}
Теперь, основываясь на этом, я полагаю, ptr-> данные типа Student и я предполагаю, что это будет работать, но это не так. Есть что-то, что мне не хватает? Кроме того, когда я пытаюсь:
ptr->data.display(out);
(Изготовление assumtion ptr-> данные студента типа, он не работает, который говорит мне, что я делаю что-то неправильно
Помощь по этому вопросу будет высоко ценится. !
«я предполагаю ptr-> данные являются Студенческий тип «Ну, это или нет? –
Похоже, что 'ptr-> data' является' Student * '. –