Hallo Leute, ist es moeglich in einem struct objekte von klassen "zusammen zufassen"? In etwa so:
1 | typedef struct |
2 | {
|
3 | Class_A Obj_A; |
4 | Class_B Obj_B_One(3); |
5 | Class_B Obj_B_Two(95); |
6 | }OBJECTS; |
7 | |
8 | OBJECTS MyObjects; |
gcc 4.7.2 Gruesse
|
Forum: Compiler & IDEs struct mit klassen objektenHallo Leute, ist es moeglich in einem struct objekte von klassen "zusammen zufassen"? In etwa so:
gcc 4.7.2 Gruesse Natürlich geht das, warum nicht? Edit: Was nicht geht, ist die Argumentübergabe an die jeweiligen Konstruktoren. Dazu musst du für OBJECTS einen Konstruktoren schreiben, der die Unterobjekte initialisiert. Übrigens: Statt
kannst du in C++ auch einfach
schreiben. :
Bearbeitet durch Moderator
Yalu X. schrieb: > Edit: Was nicht geht, ist die Argumentübergabe an die jeweiligen > Konstruktoren. Dazu musst du für OBJECTS einen Konstruktoren schreiben, > der die Unterobjekte initialisiert. Das war es, was mir gefehlt hat. Vielen Dank! :) Yalu X. schrieb: > Edit: Was nicht geht, ist die Argumentübergabe an die jeweiligen > Konstruktoren. Dazu musst du für OBJECTS einen Konstruktoren schreiben, > der die Unterobjekte initialisiert. warum sollte das nicht gehen? Struct ist auch nur eine class wo alles public ist.
Yalu X. schrieb: > Natürlich geht das, warum nicht? Peter II schrieb: > warum sollte das nicht gehen? Das mit dem Konstruktor wusste ich nicht, und da gab es dann bei der Benutzung Errormeldungen ala "xyz ist kein Member der Klasse A...". Durch den Hinweis mit dem Konstruktor im struct hat sich das jetzt aber erledigt. :) Danke euch! Peter II schrieb: > Yalu X. schrieb: >> Edit: Was nicht geht, ist die Argumentübergabe an die jeweiligen >> Konstruktoren. Dazu musst du für OBJECTS einen Konstruktoren schreiben, >> der die Unterobjekte initialisiert. > > warum sollte das nicht gehen? Struct ist auch nur eine class wo alles > public ist. Weil der C++ Standard die Initialisierung von nicht-constexpr-Membern im Class-Body verbietet. Das muss in den Konstruktor - und zwar genau so wie du geschrieben hast (ja, das ist ein Konstruktor)... Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
|
|