我试图超载< <运算符,所以我可以输出链表的内容。Overloading << C++
所以,如果我与值1,2,3一链表和我称:
cout << list << endl;
其中列表的类型是链表的。我应该得到这样的东西:
1 2 3或1 | 2 | 3在终端。
我应该使用循环遍历列表并将每个节点的数据添加到输出?想实现,这并不需要看到节点类的方法...
ostream& operator <<(ostream& outs, const LinkedList& source)
{
//use a loop to cycle through, adding each data to outs, seperated by a space or a |
return outs;
}
谨以此制定出一个结构好吗?:
LinkedList::report(ostream& outs) //thanks beta :)
{
Node *currentPtr = headPtr;
while(currentPtr != NULL)
{
outs << currentPtr->getData() << " "; //thanks Rob :)
currentPtr = currentPtr->getNextPtr();
}
return outs;
}
你可能想看看[this](http://stackoverflow.com/questions/4850473/pretty-print-c-stl-containers)(; – Mankarse
它是功课吗? – amit
你的'LinkedList'类是模板吗? –