Qt QLinkedList对象附加问题

时间:2014-01-22 23:24:22

标签: c++ qt object linked-list

我有这段代码:

QLinkedList<Usuario*> conectados;
Usuario *jose = new Usuario("Jose",1,1234);

conectados << jose;
conectados << new Usuario("Prueba2",1,123);
conectados << new Usuario("Prueba3",1,123);

QLinkedList<Usuario*>::iterator iterator;
for(iterator = conectados.begin(); iterator != conectados.end(); iterator++)
{
  qDebug()<< (*iterator)->getUserName();
}

这个输出:

“Prueba3” “Prueba3” “Prueba3”

我尝试使用QLinkedList,一个没有指针的链表,但结果相同。我不知道我做错了什么。我相信我会将相同的指针附加到链表,或覆盖同一个对象。

感谢您的帮助。抱歉我的英语不好。

1 个答案:

答案 0 :(得分:0)

我拿了你的代码片段并填写了空白。我在这里看不到任何问题 - 它必须在你的访问器方法中,getUserName();

class Usuario
{
public:

  Usuario(const QString name, int value1, int value2) : m_Name(name) {}

  QString getUserName() {
    return m_Name;
  }

private:
  QString m_Name;
};

int main(int argc, char* argv[])
{
  QLinkedList<Usuario*> conectados;
  Usuario *jose = new Usuario("Jose",1,1234);

  conectados << jose;
  conectados << new Usuario("Prueba2",1,123);
  conectados << new Usuario("Prueba3",1,123);

  QLinkedList<Usuario*>::iterator iterator;
  for(iterator = conectados.begin(); iterator != conectados.end(); iterator++)
  {
    qDebug()<< (*iterator)->getUserName();
  }
  return 0;
}

输出:

"Jose" 
"Prueba2" 
"Prueba3"