我有这个代码:
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/