Tworzenie zmiennych strukturalnych danej klasy w pętli.

0

Witam, programuje od jakiegos czasu (Microsoft Visual C++) i trafiłem dzisiaj na problem, jak za pomocą funkcji dajmy na for utworzyć n elementów danej klasy?

Powiedzmy że tworzę klase

class Mrowka
	{
	public:
		int cokolwiek; 
	};

i teraz chciałbym utworzyć n-elementów klasy Mrowka nazywajacych sie powiedzmy: mrowka1, mrowka2, mrowka3 ... mrowkan. Jakies porady?

Wybaczcie podwójny post- niebedac zarejestrowany nie moge edytować.

Nazwa może być nieco myląca- nie mam pojecia jak to nazwać... Dzieki!

0

Jest coś takiego magicznego jak tablice ;)

0

Zgadza się, ale jak to zrobić?

class Osoba:
{
...
}
int *wsk;
wsk=new int [2];
for (i=0;i<2;i++){
Osoba osoba-i;
}

To pewnie będzie coś w tym stylu, ale nie mam od cholery pojecia jak zrobić żeby traktował to "osoba-i" nie jako zmienną tekstową tylko "i" od pętli for...

0

Tablica alokowana statycznie:

const int size = 5; // stała znana w czasie kompilacji!
Osoba osoby[size];
for (int i = 0; i < size; ++i) {
    cout << osoby[i];
}

http://www.cplusplus.com/doc/tutorial/arrays/

Tablica alokowana dynamicznie:

int size;
cin >> size; // wartość znana dopiero w czasie wykonywania programu
Osoba* osoby = new Osoba[size];
for (int i = 0; i < size; ++i) {
    cout << osoby[i];
}
delete [] osoby;

http://www.cplusplus.com/doc/tutorial/dynamic/

Użycie kontenera std:

vector<Osoba> osoby;
int size;
cin >> size;
// osoby.resize(size);
// albo np
for (int i - 0; i < size; ++i) {
    string imie;
    cin >> imie
    osoby.push_back(Osoby(imie));
}
for (int i = 0; i < size; ++i) {
    cout << osoby[i];
}

http://www.cplusplus.com/reference/stl/

0

O choinka, to takie proste. Wstyd.

I dziekuje za tutoriale :)

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