Neuling2010 Geschrieben 15. November 2010 Geschrieben 15. November 2010 Hi Leute, Habe folgendes Problem !!! Ich wollte gerade einen vector erstellen, wobei jedes Ellement als Instanz einer Klasse dargestellt wird. Dies ist weiter ja nicht schwer, aber wie kann ich nun über einen bestimmten parameter auf ein bestimmtes Ellement zugreifen? Beispiel [lass GatterTyp{ protected: string name; double grundlaufzeit; short lastFaktor; short lastkapazitaet; short eingaenge; public: GatterTyp(); ~GatterTyp() {} const string& getname() {return name;} double getgrundlaufzeit() {return grundlaufzeit;} short getlastFaktor() {return lastFaktor;} short getlastkapaziteat() {return lastkapaziteat;} short geteingaenge() {return eingaenge;} bool getIsFlipFlop() {return IsFlipFlop;} void setname(string n) {n=name;} void setgrundlaufzeit(double gl) {gl = grundlaufzeit;} void setlastFaktor(short lF) {lF = lastFaktor;} void setlastkapazitaet(short lk) {lk = lastkapazitaet;} void seteingaenge(short ei) {ei = eingaenge;} };][#include <iostream> #include <string> #include <vector> #include 'Klasse.h' using namespace std; int main() { vector<GatterTyp*> bibElemente; };] Was müsste ich tun wenn ich nun nachdem ich den vector gefüllt habe tun um auf ein bestimmtes Element z.B. über name zugreifen will?? Vielen dank schon im Voraus!!!:D Zitieren
Klotzkopp Geschrieben 15. November 2010 Geschrieben 15. November 2010 Was müsste ich tun wenn ich nun nachdem ich den vector gefüllt habe tun um auf ein bestimmtes Element z.B. über name zugreifen will??So wie du es auch mit einem Array tun würdest: Du musst das Element mit dem passenden Namen heraussuchen, d.h. mit einer Schleife durch den Vector gehen und für jedes Element getname aufrufen. Du kannst auch std::find mit einem passenden Funktionsobject/Lambda-Ausdruck benutzen, aber das tut unter der Haube auch nichts anderes. Ein Container, der solche Operationen direkt unterstützt, wäre z.B. std::map. Es ist übrigens nicht empfehlenswert, rohe Zeiger in Containern zu speichern. Warum nicht vector<GatterTyp>? Zitieren
Der_Lampe Geschrieben 15. November 2010 Geschrieben 15. November 2010 Google ist dein Freund :cool: danach solltest du einfach mit dem punktoperator auf die methoden zugriefen dürfen Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.