struct mit klassen objekten

Moderator #3609988
Lesenswert?

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
1
typedef struct
2
{
3
  ...
4
}OBJECTS;

kannst du in C++ auch einfach
1
struct OBJECTS
2
{
3
  ...
4
};

schreiben.
Gast #3610048
Lesenswert?

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.
1
struct x
2
{
3
   m_y1 String,
4
   m_y2 String
5
   x( const char* y1, const char* y2 )
6
   : m_y1( y1 ),
7
     m_y2( y2 ) 
8
   {}
9
}
Gast #3610078
Lesenswert?

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)...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren