[英]Linked-list in linked-lists in C++
我使用列表列表遇到了麻煩。 我使用的是單鏈表,鏈表由 3 個類(Node、ListIterator 和 List)組成,它們是模板類。 鏈表針對每種類型進行測試。 類 List 和其他類使用 operator<< 來避免打印功能。
我寫了一些偽代碼來顯示我的問題,?? 指出問題區域:
class First
{ private:
string name;
public:
Tentamen (string n) : naam(n) {}
friend ostream& operator<< (ostream& out, const First& f)
{ return out << "First: " << f.name << endl; }
};
class Second
{ private:
string name;
List<First> l1;
public:
Second(string n) : naam(n){}
friend ostream& operator<< (ostream& out, const Second& s)
{
out << "Second: " << s.name << endl;
?? out << s.l1;
return out;
}
};
int main()
{ //test lijst template
//example use of List<T>
List<string> list2;
list2.add( "strand" );
list2.add( "zon" );
cout << list2; //print
List<Second> l2;
l2.add(Student("Jip");
?? l2.l1.add("name");
return 0;
}
我可以為每種類型、每個班級列出清單。 問題出在 List 類型的 l2,我想訪問 l2 中 List 類型的 l1。 我無法訪問 l1,我已經嘗試了很多“朋友類”聲明和迭代器。
對於打印,我在類 Second, operator<< 中的 out << s.l2 上出現錯誤。 '錯誤:操作符<< in out << s.l2::l1 不匹配'
我希望它足夠清楚,如果不是,我將在早上(CET)進行編輯。 謝謝您的幫助。
正如評論中已經說過的,您應該發布List
類模板的代碼。
話雖如此,我的猜測如下:
在您標記的行中l2.l1.add("name");
您嘗試訪問類型為List<Second>
的l2
的成員l1
。 看到被包裝的類Second
有一個成員l1
我假設你真的想訪問這個成員。 這意味着您必須先導航到要訪問的數據元素,然后才能對該數據元素進行操作。
如果不提供List
的代碼,我們就無法說明如何訪問數據元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.