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
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>?
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden