我已經從上一學期的一些課程中學習了一些舊的hw任務。 這是打印鏈接列表對象的給定打印功能。 我不明白爲什麼重載的操作符需要兩個參數,一個是操作系統對象。當我們在main.cpp上打印出實際的鏈表對象時,我們並不需要通過一個os對象。另外,它爲什麼返回os?爲什麼我們不能使用cout 而不是「os < <」?重載運算符<< ostream語法
謝謝!
template <class T>
void List<T>::print(ostream & os) const
{
os << "<";
ListNode * curr = head;
while (curr != NULL) {
os << " " << curr->data;
curr = curr->next;
}
os << " >";
}
// overloaded operator<<
template <class T>
ostream & operator<<(ostream & os, const List<T> & list)
{
list.print(os);
return os;
}
「流流」?這是「串流」的錯字嗎? – 2016-11-01 10:13:57