C ++ - 如何从指向类的指针访问成员变量/函数

时间:2013-03-05 20:23:43

标签: c++ pointers

我的老师为链接列表上的作业设置了一些框架代码。

在标题中,定义了两个类: string_nodestring

在字符串定义中,有一个私有变量mutable string_node* cursor;

现在在实际实现中,我正在尝试使用cursor作为对我创建并想要修改的节点的引用。 IE:

for (cursor_index = 0; cursor_index < many_nodes; cursor_index++){
        cursor = new string_node(str[cursor_index]);

我不确定这是否合适所以首先,任何人都可以告诉我,如果这是错误的我应该怎么做?

我认为它是错误的,因为我无法访问节点的数据并通过游标链接到其他节点,因为它是一个指针(我希望能够只做cursor.data甚至设置get和set方法,尽管我我不知道为什么我需要,如果有人想向我解释这一点。

因此,主要问题是能够在实现中设置节点的数据/链接。

2 个答案:

答案 0 :(得分:1)

有两种方法可以解决问题。

首先是取消引用它:

string_node &mynode = *cursor;
mynode.whatever;

第二种(更好的方法)是使用解除引用操作符(它做同样但更优雅):

cursor->whatever;

转到您的方法:也许我对相关问题的回答会对您有所帮助:How to point an array inside a dynamic array to something?

您可能也会从维基百科的伪代码中获得一些帮助:http://en.wikipedia.org/wiki/Linked_list#Linked_list_operations

答案 1 :(得分:0)

回答您的初步问题:您想要“ - &gt;”运营商。它相当于“。”指向对象的指针的运算符。