C++ 在类里面实现链表的合并

我创建了一个类,里面包含链表的输入、输出、排序、打印、合并等等功能。然后我用类定义了两个变量,但是实现他们合并的时候懵了,这个函数应该要获取两个链表的头结点,我就不知道该怎么获取了,因为头结点是私有在类中的,求帮助!!!

图片说明

图片说明

主函数里面只输入了链表的长度,第二张图是结构体跟类的构造函数那部分

2个回答

私有成员的话,可以用友元函数或者成员函数

qq_37719250
jeryZH void plus(Unit head1, head2),但是head1和head2这两个头结点怎么获取呢
接近 3 年之前 回复
qq_37719250
jeryZH 我刚开始写了个函数
接近 3 年之前 回复

1 在Link类定义中加入成员函数,用于读取私有变量:

 public Unit* GetHead()
 {
     return this.head;
 }

2 然后定义合并函数,其参数为Unit实例对象,形如:

 void Plus( Link ObjA, Link ObjB)
{
     Unit *HeadA = ObjA.GetHead();
     Unit *HeadB = ObjB.GetHead();
}

3 主函数调用合并函数时传入两个Unit对象,形如:

 Plus(L1, L2);
fight_in_dl
战在春秋 补充: 合并函数中取得两个Head后,可以进行后续处理
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问