Lista di oggetti
-
Ciao a tutti, ho provato a scrivere quest programma in modalità console, creo una QList e la riempio con oggetti.
@
#include <QCoreApplication>
#include <iostream>
#include "clspanino.h"
#include "QTextStream"
#include <QDebug>
using namespace std;QTextStream t(stdin);
static QList<clsPanino> Lista;
void prendiValori(int i)// prendo il contatore solo per verifiche che adesso sono sotto commento
{
clsPanino oggetto;
qDebug()<<"ciao, dammi un nome";
oggetto.setValore(t.readLine());
Lista.push_back(oggetto);
/*
qDebug()<<serieDiPanini[i].getValue();//stampo il nome dell'ultimo oggetto nel vettore
if (i!=0) //stampo il nome dell'oggetto precedente
qDebug()<<Lista[i-1].getValore();
*/}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
for(int i=0;i<3;i++)
prendiValori(i);
foreach (clsPanino oggetto, Lista)
{
qDebug()<<oggetto.getValore();
}
return a.exec();
}
@
Come output però mi da questo;ciao, dammi un nome
pippo
ciao, dammi un nome
pluto
ciao, dammi un nome
paperino
"paperino"
"paperino"
"paperino"Qualcuno sa spiegarmelo?
-
Ciao,
prova in questo modo:
@#include <QCoreApplication>
#include <iostream>
#include "clspanino.h"
#include "QTextStream"
#include <QDebug>
using namespace std;QTextStream t(stdin);
static QList<clsPanino> Lista;
void prendiValori(int i)
{
clsPanino oggetto;qDebug() << "ciao, dammi un nome"; oggetto.setValore(t.readLine()); Lista.push_back(oggetto);
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);for(int i=0; i<3; i++) prendiValori(i);
for (int j = 0; j < Lista.size(); j++ )
{
qDebug() << Lista.at(j).getValore();
}
return a.exec();
}@