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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.