Hier folgt ein Programm, ENGLAREA, das die Struktur Room verwendet, um einen Raum darzustellen.struct Room { Distance length; Distance width; }
Hier ist die Ausgabe:// englarea.cpp // Veranschaulicht verschachtelte Strukturen #include <iostream.h> struct Distance // Englisches Längenmaß { int feet; float inches; }; struct Room { Distance length; Distance width; }; void main() { Room dining; // DEfinieren eines Raumes dining.length.feet = 13; // zuweisung von Werten an room dining.length.inches = 6.5; dining.width.feet = 10; dining.length.inches = 0.0; // Länge und Breite umrechnen float l = dining.length.feet + dining.length.inches/12; float w = dining.width.feet + dining.width.inches/12; // Fläche errechnen und dann anzeigen cout << "\nEsszimmerfläche beträgt " << 1 * w << " Quadratfuss"; }
Esszimmerfläche beträgt 135.416672 Quadratfuss
Wie initialisiert man eine Strukturvariable, die selbst Strukturen in sich trägt? Die folgende Anweisung initialisiert die Variable dinig mit denselben Werten, die ihr im ENGLAREA-Programm gegeben wurden:
Room dinig = { {13, 6.5}, {10, 0.0} };
Theoretisch können Strukturen beliebig tief ineinander verschachtelt werden. In einem Programm, das zur Planung von Mehrfamilienhäusern eingesetz wird, werden Sie sich vieleicht mit Anweisungen wie
apartment1.laundry_room.washing_machine.width.feet
konfrontiert sehen.