C++ Объектные ссылки в цикле цикла

Я пытаюсь создать разные объекты одного и того же типа, используя цикл, а затем сохраняю указатель на каждый конкретный объект в связанном списке. Проблема в том, что каждый раз, когда объект является экземпляром, его указатель возвращает один и тот же адрес памяти, который не позволяет мне различать каждый отдельный объект в этом списке.

Любое решение этого? Спасибо

У меня есть функция со следующим:

    Data dt(10,10,2010);
int p=0;
ifstream fx;
fx.open("utilizadores.txt",ifstream::in);
if(!fx)
{cout << "FX. nao existe!" <<endl;}
string linha;
string nLugar;
int iD=1;

while(!fx.eof())
{
    getline(fx,linha,'\n');
    Utilizador* user;
    if(linha.find(',')==-1 && linha.size()>1)
    {
        cout<<"Entrou no vector"<<endl;
        string nlugar(linha.substr(0, linha.size()));
        nLugar=nlugar;

    }

      else
    {
        int inic=0;
        int pos=linha.find(',',inic);
        string nick(linha.substr(inic,pos-inic));
        pos++;
        inic=pos;
        pos=linha.find(',',inic);
        string email(linha.substr(inic,pos-inic));
        user=new Utilizador(dt,iD,nick,email);
        cout<<&user<<endl;
        cout<<user->clone()<<endl;
        }
    fx.close();
    }

Связанный список объявлен в заявлении класса

3 ответа

соиЬ<< & пользователь << епсИ;

должно быть:

соиЬ<< пользователь << епсИ;

&user - адрес локальной переменной Utilizador*, который остается неизменным. Значение переменной пользователя само по себе является указателем, который вам нужен, и он должен отличаться на каждой итерации.

Эта линия

cout<<&user<<endl;

печатает адрес указателя на объект. user сам по себе является указателем на объект, который вы создаете. Чтобы напечатать адрес вашего объекта, вы хотели написать

cout<<user<<endl;

Хотя каждый раз это будет новый объект, переменная user всегда в одном и том же месте. Вы можете добавить значение user в ваш список, и он действительно будет отличаться каждый раз.

"&user" возвращает адрес указателя, который содержит ссылки на объекты.

Другие вопросы по тегам