【问题标题】:Accessing pointers using objects使用对象访问指针
【发布时间】:2014-08-17 16:14:07
【问题描述】:
我正在编写一个程序,我打算在其中创建三个不同的单链表,但它们都为链表的节点共享相同的 ADT。
class node
{
int data;
node* next;
}*start;
所以我的查询是如果我想访问第一个链表的起始指针指向的数据,我该怎么做?如果我创建对应于三个不同链表的类节点的 3 个对象(obj1,obj2,obj3),那么语句会
obj1.start->data
是访问第一个链表的起始指针指向的节点中数据的有效方式
【问题讨论】:
标签:
c++
pointers
object
linked-list
【解决方案1】:
在类 XYZ 中有一个结构节点,如下所示:
class XYZ {
struct node {
int data;
node *next;
}*start;
}
然后对于3个不同的具有相同节点结构的链表,创建3个XYZ类型的对象obj1、obj2和obj3。
然后使用以下方式访问数据:
obj1.start->data
obj2.start->data
等等。
obj1.element 引用对象 'obj1' 的名为 'element' 的变量。起始节点是类中名为 XYZ 的变量,因此您可以通过创建该类 XYZ 的对象来引用它,并编写 obj1.start
您的代码不起作用,因为在其中,start 是一个类型节点的指针,但我们想要的是在类中的指针 obj1.start 工作。