我有一个带有对象的基本链表。粗略的结构是这样的:
class Something {
public:
Something();
~Something();
void setValue(int v);
private:
int value;
}
class Node {
public:
Node();
~Node();
Node* getNext();
Something getSome();
private:
Something some;
Node *next;
}
class List {
public:
List();
~List();
void updateValues(int v);
private:
Node* first;
Node* current;
}
然后,在updateValues()
我想更改Something
给定的值的方法上Node
。但是值没有改变。保持和以前一样。我正在尝试这样的事情:
void List::updateValues(int v) {
Node* iterator = first;
while(it != NULL) {
it->getSome()->setValue(v);
it = it->getNext();
}
}
但是,value
每个Something
上的每个Node
都没有改变。我知道这是指针和引用的问题,但我并不完全理解如何解决它。