好的,所以我有我的基本鏈接隊列類與基本功能,如前(),空()等..我已經把它轉換成模板。現在,我也有一個叫做學生的課。其中有兩個值:學生姓名和學生證。我可以打印出一學生用下面的代碼..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