c++ - Qt QLinkedList 对象追加问题

标签 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();
}

这个输出:

“普鲁巴3” “普鲁巴3” “普鲁巴3”

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

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

最佳答案

我拿了你的代码片段并填补了空白。我在这里没有看到任何问题 - 它必须在您的访问器方法中,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" 

关于c++ - Qt QLinkedList 对象追加问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21296238/

相关文章:

c++ - AVL树中的删除

java - 如何修复 Netbeans IDE 安装错误?

c++ - 如何将由我的类的对象组成的 QVector 的数据写入文件?

c++ - 将单个参数传递给多参数函数

c++ - 使用 C++ (Win32) 导入 DLL

javascript - 为什么 `this` 不等于 `Object` ,为什么属性是 `undefined` ?

Javascript 对象 : iterating over properties

javascript - 无法获取响应对象内的信息

c++ - 在 HD 中进行数据密集型读写的最佳做法是什么?

python - 如何在 QTest 中关闭 QFileDialog.getOpenFileName?