Tworzenie obiektów n w trakcie działania programu.

0

Witam, mam do napisania projekt. Spotkałem się z następującym problemem. W trakcie wykonywania programu z każdym powtórzeniem pętli mam zamiar tworzyć nowy obiekt, przy czym nie wiem ile razy pętla się wykona.

Wpadłem na pomysł, aby za każdym razem tworzyć obiekt o nazwie A i dodawać go (nie wskaźnik na niego) do wektora za pomocą push_back, niby działa. Ale jak mam teraz dostać się do tego obiektu magazynowanego w wektorze, a konkretnie chodzi mi o to jak wywołać metodę.


class cObiekt
{

private:
string t;
int x;
int y;

public:
    cObiekt(string t):t(t){
    cout<<"Powstał nowy obiekt\n";
    };
    ~cObiekt(){
    cout <<"Destruktor obiektu\n";}
int getx(){\
    return x;
};

int gety(){
    return y;
};
};


vector <cObiekt> pocisk;

int main()

{
    string t;
    ifstream plikr1;
    plikr1.open("radar1.txt", ios::in);
    while(!plikr1.eof())
    {getline(plikr1, t);
    cObiekt A(t);
    pocisk.push_back(A);
    }
    plikr1.close();
    return 0;
    cout<<pocisk.size();



};
 

Program zwraca size odpowiadające ilość obiektów, ale teraz zastanawiam się, jak dostać się do metody getx() obiektu znając numer obiektu w wektorze.

Tak z ciekawości pytam czy da się tworzyć n obiektów? Dotąd, jak tworzyłem obiekt to podawałem nazwę klasy i nazwę obiektu, ale skoro tych obiektów ma być n to co z nazwami, da się to jakoś rozwiązać?

0
 
vector <object> objects;

objects.push_back(objectA);
objects.push_back(objectB);

cout << objects[1].imie;

0

Tak z ciekawości pytam czy da się tworzyć n obiektów? Dotąd, jak tworzyłem obiekt to podawałem nazwę klasy i nazwę obiektu, ale skoro tych obiektów ma być n to co z nazwami, da się to jakoś rozwiązać?

 
class ...
{
       vector <object> objects;
       void addObject(data param1)
       {
              object nObject;
              nObject.type = param1;
              objects.push_back(nObject);
       }
};




1 użytkowników online, w tym zalogowanych: 0, gości: 1