[英]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.