C++ Struct

Strukturen in C++



Strukturen mit dem Datentyp struct
Mit einem Strukturen >>struct<< können beliebig viele verschiedene Komponenten zu einer neuen Komponente zusammengefasst werden.


Allgemein

struct name
{
  Datentyp1 var1;
  Datentyp2 var2;
};
 
bzw. folgende Form, wenn man in vereinfachter Weise auf die Struktur zugreifen möchte:
struct name
{
  name(Datentyp1 a, Datentyp2 b) : var1(a), var2(b) {} 
  Datentyp1 var1;
  Datentyp2 var2;
};
 
Beispiel
struct Date
{
  int year;
  int month;
  int day;
};
 
struct SimpleDate
{
  SimpleDate(int y, int m, int d) : year(y), month(m), day(d){}
  int year;
  int month;
  int day;
};
 
 
 
int main()
{
  // Datentyp Date deklarieren und initialisieren
  Date d = { 2016, 12, 31 };
 
  // Daten können  nur einzeln geändert werden
  d.year = 2017;
  d.month = 1;
  d.day = 1;
 
 
 
  // Datentyp SimpleDate deklarieren und initialisieren
  SimpleDate sd = { 2016, 12, 31 };
 
  // Mit SimpleDate können die Daten in einem Ruck geändern werden
  sd(2017, 1, 1);
 
  // Daten können aber dennoch auch einzeln geändert werden
  sd.day = 2;
 
 
  return 0;
}
 
 
Struct beim anlegen mit Variablen deklarieren
Ein struct kann natürlich wie bei jedem anderen Datentyp auch gleich mit einer oder mehrerer Variablen deklariert werden.
struct Date
{
  int year;
  int month;
  int day;
} d1, d2;
 
 
int main()
{
  d1.day = 31;
  d2.day = 27;
}