好的,所以我有我的基本链接队列类与基本功能,如前(),空()等..我已经把它转换成模板。现在,我也有一个叫做学生的课。其中有两个值:学生姓名和学生证。我可以打印出一学生用下面的代码..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-> data是一个学生类型,我会认为这会工作,但事实并非如此。有什么我失踪?此外,当我尝试:
ptr->data.display(out);
(制造assumtion ptr->数据类型的学生,这是行不通的,它告诉我,我做错了这个
帮助将非常感激。 !
“我想ptr->数据一个学生类型“是吧,还是不是? – 2010-04-06 02:49:02
听起来像'ptr-> data'是'Student *'。 – 2010-04-06 02:50:02