Automatyczne tworzenie obiektów klasy.

0

Witam,
piszę program w c++ w którym funkcja jednej klasy(np. class Statek) musi tworzyć obiekty innej klasy (np. class Gwiazda) wiem, że ręcznie tworzy się to tak:

 
Gwiazda alfa;
Gwiazda beta; // itd...

natomiast mi chodzi o to by napisać prostą funkcję, która stworzy automatycznie np. 5 obiektów klasy Gwiazda o nazwach a,b,c,d,e albo jakiś innych, przy wywołaniu dla przykładu stworz(5).
W swoich poszukiwaniach znalazłem coś co się nazywa automatyczna alokacja pamięci oraz dynamiczna alokacja pamięci, niestety nie znalazłem jak w prosty sposób zaimplementować to do mojej funkcji(a przynajmniej moje poszukiwania nie dały prostej odpowiedzi).
pozdrawiam,
Profi

1

Stwórz dynamiczną tablicę obiektów.

void stwórz( int ile, Gwiazda * gwiazdy )
{
     gwiazdy = new Gwiazda[ile];
}

int main()
{
     Gwiazda * moje_gwiazdy;
     // utworzenie 10 gwiazd
     stwórz( 10, moje_gwiazdy );

     // zwolnienie pamięci
     delete [] moje_gwiazdy;

     return 0;
} 
1

Masz na to 4 wersje:

void stwórz(int ile,Gwiazda **gwiazdy ) { *gwiazdy=new Gwiazda[ile]; } 
Gwiazda *moje_gwiazdy;
stwórz(10,&moje_gwiazdy );

void stwórz( int ile, Gwiazda *&gwiazdy ) { gwiazdy=new Gwiazda[ile]; } 
Gwiazda *moje_gwiazdy;
stwórz(10,moje_gwiazdy );

Gwiazda *stwórz( int ile) { return new Gwiazda[ile]; } 
Gwiazda *moje_gwiazdy=stwórz(10);

Gwiazda *moje_gwiazdy=new Gwiazda[ile];
0

Dzięki wielkie! Bardzo mi pomogliście :)

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