Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
1 |
void Menue (std::vector <CZahl> *pZahl) |
C-/C++-Quelltext |
|
1 |
anzahl = pZahl->size (); |
C-/C++-Quelltext |
|
1 |
pZahl->ZahlenSpeichern (pZahl) |
C-/C++-Quelltext |
|
1 2 3 4 5 6 |
vector<bla>::iterator cBla_Iter; cBla_Iter = cBla.begin(); for (; cBla_Iter != cBla.end(); cBla_Iter++) { (*cBla_Iter).Speicherdingsdabums() } |
Indem du zuerst auf ein Element zugreifst. Z.B. über front(), back(), at(), operator[] oder Iteratoren.Zitat von »"bsgv"«
Ich habe an eine Funktion einen Zeiger auf einen Vektor (auf die Klasse CZahl) übergeben.
[...]
Wie kann ich also auf die Memberfunktion zugreifen?
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 |
void Function(std::vector<CZahl>* Vec) { for (std::vector<CZahl>::iterator it = Vec->begin(); it != Vec->end(); ++it) { it->ZahlenSpeichern(pZahl) } } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
std::vector<int> intVec; // Ein vector(dynamisches array) mit ints // zuerst mal einen int zum array hinzufügen intVec.push_back(123); // Wie man sieht, kann sich die größe des Arrays ändern. Den technischen hintergrund möchte ich nicht erläutern, das würde dich jetzt nur verwirren. Erstmal noch ein paar ints rein: intVec.push_back(321); intVec.push_back(4321); intVec.push_back(0); // So nun haben wir 4 ints hinzugefügt, also sollten auch 4 drinne sein. // Das Prüfen wir mit der size methode vom vector: std::cout << "Es sind " << intVec.size() << " Elemente in intVec.\n"; // Nun wollen wir auf das 2. Element zugreifen. // Wie du weisst, hat das erste Element den Index 0. (Wie bei einem normalen Array auch). //Das zweite Element hat den Index 1, das dritte 2 etc etc... // Um nun via index auf ein Element zuzugreifen, haben wir den []-Operator der lässt sich wie bei jedem normalen Array auch benutzen. std::cout << "Das 2. Element (Index = 1) ist: " << intVec[1] << std::endl; |
Quellcode |
|
1 2 |
Es sind 4 Elemente in intVec. Das 2. Element (Index = 1) ist: 123 |
Zitat
Wenn du das einfach mal in ne main Funktion reinpackst und ausführst, sollte etwa folgendes rauskommen:
Quellcode
1 2 Es sind 4 Elemente in intVec. Das 2. Element (Index = 1) ist: 123
Zitat
Es ist ganz einfach so, dass ein vector eine ganz normale C++ Klasse ist. Sie hat eigene Methoden und sie hat KEINE Methode die sich "ZahlenSpeichern" nennt. Deine Klasse CZahl hat eventuell eine.
Werbeanzeige