PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C++] Zugriff auf Vector aus struct



Primusio
06-12-2005, 18:10
Hallöchen Community,
nachdem Ihr mir das letzte mal so gut weitergeholfen habt, hoffe ich dass es diesmal auch klappt.



struct daten {
vector<string> brueder;
int alter;
string name;
};

vector<daten> mensch;


Als Verteidigung, dass habe ich gerade erfunden und aus dem Kopf geschrieben, soll nur mein Problem verdeutlichen.

Wie kann ich nun meinen Vector "daten" füllen und anschließend wieder auslesen ? Geht das überhaupt ? Glaubt mir bitte ich habe gegoogelt wie ein Weltmeister aber nichts gefunden.

Kleiner Tipp, Link oder Codeschnippsel würde mir echt weiterhelfen.

Dank euch
Primusio

RHBaum
07-12-2005, 08:30
Abgesehen vom Design, wo ich nen komplexen datentyp (vector) in nem plain struct eher sehr fehelertraechtig finde ....

was hindert dich an :

daten dat1;

dat1.alter = 18;
dat1.name = "Sussi Sorglos";
dat1.brueder.insert("Paul Sorglos");

mensch.insert(dat1);

???

Ciao ....

Primusio
07-12-2005, 23:02
Danke dir,
hatte es irgendwie nicht so richtig hinbekommen, dachte es gibt eine Möglichkeit direkt in den Vector zu speichern ohne den Umweg einer neuen Variable.

Für alle nachkommenden, die auf der Suche nach dem Thema Vectoren sind
http://www.mrunix.de/forums/showthread.php?p=191324#post191324
hab ich mal die Resultate meiner letzten Postings in einem Programm zusammengefasst um der Community auch was als dankeschön wiederzugeben.

MfG
Primusio

anda_skoa
08-12-2005, 14:29
Wenn du in daten einen entsprechende Konstruktor machst geht das schon



struct daten {
daten(string n, int a) {
name = n;
alter = a;
}
vector<string> brueder;
int alter;
string name;
};

vector<daten> mensch;

mensch.push_back(daten("Susi Sorglos", 18));


Ciao,
_

RHBaum
08-12-2005, 14:44
Also wenn du ihm schon nen Konstruktor verpasst, dann mach auch ne class draus, und dann ordentlich, mit destruktor ^^

Ciao ...

anda_skoa
08-12-2005, 14:46
Wozu braucht er da einen Desktruktor?

Ciao,
_

RHBaum
08-12-2005, 15:25
Damit er sich expliziet ueberlegt, ob er das teil virtuell macht oder nich, bzw ob er von der Klasse mal ableiten lassen will oder nich ^^

teschnisch brauchen tut er ihn nich, er tut aber auch nicht weh (bringt keinerlei overhaed ausser schreibarbeit), und hilft anderen sich zu orientieren ... Klassen mit automatisch generiertem destruktor sind mir aueserst suspect ^^ Seh ich ne klasse ohne, bin ich mir nie sicher ob er vergessen wurde oder absichtlich nicht virtuell ist ...

Ciao ...