Die Idee einer Struktur besteht darin, eine Sammlung von Variablen in einem einzigen Container zusammenzufassen. ZB wenn Sie drei Koordinaten haben
int x;
int y;
int z;
Vielleicht möchten Sie sie als Dateneinheit anzeigen und zusammenfassen:
struct point
{
int x;
int y;
int z;
};
Sie können dies als eine Möglichkeit sehen, Ihre Daten zu modularisieren. Jetzt können Sie Variablen definieren, die alle drei Werte in einer Einheit enthalten:
struct point p1, p2;
In der prozeduralen Programmierung haben Sie Prozeduren oder Funktionen, die Daten und insbesondere Strukturen manipulieren, z
void shiftX(struct point *p, int offset);
Sie können die Funktion für eine Struktur aufrufen, indem Sie sie als Argument übergeben:
shiftX(&p1, -10);
Der Schritt von Strukturen zu Klassen besteht darin, zu sagen, dass Prozeduren / Funktionen zusammen mit Daten zu Einheiten gruppiert werden sollten: Wie Strukturen klassifizieren Entitäten mit derselben Struktur, klassifizieren Klassen Entitäten mit derselben Struktur und Operationen.
Jetzt können Sie schreiben:
class Point
{
public:
void shiftX(int offset);
int x;
int y;
int z;
};
und dann:
Point p;
...
p.shiftX(-10);
Auf diese Weise ist es einfacher, Vorgänge zu gruppieren, die mit derselben Art von Daten arbeiten. Sie können beispielsweise alle Operationen zusammenfassen, die auf Punkte in der Klassendefinition einwirken, anstatt sie als Funktionen mit einem oder mehreren Parametern vom Typ point über Ihren Code zu verteilen.
Darüber hinaus können Sie Struktur und Verhalten mithilfe der Vererbung verfeinern.
Zusammenfassen: Strukturen sind ein Konzept, mit dem Daten organisiert / modularisiert werden können. Klassen ermöglichen das Organisieren / Modularisieren von Daten und Operationen.
struct
Schlüsselwort dann optional, wenn die Struktur verwendet wird.