Forum: Compiler & IDEs enum in struct


von student08 (Gast)


Lesenswert?

Hallo ich habe eine Frage ich habe 2 enums kann ich diese in einer 
Struktur zusammenfassen und wenn ja wie mache ich das ? Bin noch 
Anfänger sorry für die Frage.

von Karl H. (kbuchegg)


Lesenswert?

Was verstehst du unter 'zusammenfassen'


Eine Struktur ist eine Sammlung von mehreren Variablen, die durch die 
Struktur zu einem Paket geschnürt werden und somit ausgedrückt wird, 
dass diese Dinge zusammengehören.

Ein Tagesdatum besteht nun mal immer aus Tag, Monat und Jahr.
Durch eine Struktur wird genau das ausgedrückt

struct Datum {
   int   day;
   int   month;
   int   year;
};

und damit ist klar, dass wenn von einem Datum die Rede ist

  struct Datum Geburtstag;

dass dieser Geburtstag damit aus Tag/Monat/Jahr besteht

  Geburtstag.day = 6;
  Geburtstag.month = 4;
  Geburtstag.year = 1976;

und was immer ich auch mit dem Geburtstag als ganzes mache:

  struct Date Versicherungsbeginn;

  Versicherungsbeginn = Geburtstag;

bezieht sich auf den Geburtstag als Ganzes (also auf die 
Zusammenstellung Tag/Monat/Jahr).


Ein struct trifft aber keine Auswahl, von welchem Datentyp seine Member 
sind. Man kann da Member-Variablen von jedem beliebigen Datentyp 
reinstecken. Auch enum oder andere struct oder was auch immer

enum Farbe { blond, braun, bruenett, schwarz, rot, bunt }

struct Person {
  char         Vorname[50];
  char         Nachname[50];
  enum Farbe   Haarfarbe;
  struct Datum Geburtstag;
};

Wenn von einer Person die Rede ist, dann ist damit automtisch immer von 
einem Gebilde die Rede, das aus Vorname, Nachname, Haarfarbe und 
Geburtstag besteht. Der Geburtstag seinerseits besteht wieder aus Tag, 
Monat und Jahr.

Darunter tut sich nichts. Eine Person hat immer diese Teile und wenn ich 
eine Person an eine Funktion übergebe, dann wird auch von dieser Person 
als Ganzes eine 1:1 Kopie erzeugt, egal aus wievielen oder welchen 
Teilen diese besteht.

von Tom (Gast)


Lesenswert?

Wie soll das aussehen?

struct struktur
{
 enum
 {
  hundert,
  hunderteins,
  hundertzwei,
 }Enumeration;
};
????????

Nee, das funktioniert nicht!

Was genau hast Du vor?

von Klaus W. (mfgkw)


Lesenswert?

Vielleicht das, was namespaces in C++ machen?

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.