【发布时间】:2015-03-05 16:55:55
【问题描述】:
我目前正在开发一个程序,该程序将访问另一个人编写的链表。我假设这个人将头和尾变量声明为私有,但我想遍历他们的链表。
这是一个可能的链表实现
/* singly linked list node */
struct SLLNode {
int data;
SLLNode *next;
};
/* singly linked list implementation */
class SLinkedList {
public:
SLinkedList();
~SLinkedList();
void addToTail(int newData);
void addToHead(int newData);
friend std::ostream& operator<<(std::ostream&, const SLinkedList&);
private:
SLLNode *head;
SLLNode *tail;
};
我想访问指向头部的指针,以便能够遍历链表。
如何在无法更改节点的情况下访问该指针?不能仅仅为了安全而改变。提前致谢!
【问题讨论】:
-
我不认为你应该在 SLinkedList 之外公开这个实现细节。而是提供一种迭代列表的方法,以便其他类可以访问元素,但不能访问 SLinkedList 的内部实现。
标签: c++ class linked-list private-members