Aggregate (C++)Sind Objekte in Objekten enthalten, spricht man von
- Aggregaten,
- Kompositionen,
- verschachtelten Klassen (nested classes) oder
- class type class members
Da die Terminologie hier unscharf ist, mögen folgende Varianten der Klarheit dienen:
Klasse in Klassendeklaration
Eine Klasse ist in einer Klassedeklaration deklariert:
- hierdurch ist allein noch kein Objekt definiert
- wurde die innere Klasse im privaten Teil deklariert, so steht sie nur innerhalb der äußeren Klasse für Instanziierungen zur Verfügung
- wurde die innere Klasse im public Teil deklariert, so kann man auch von außerhalb mit dem Bereichsoperator :: auf die Deklaration zugreifen
Objekt in Klassendeklaration
Ein Objekt wird in einer Klassendeklaration instanziiert:
- die Klasse des inneren Objekts kann wie oben oder außerhalb der äußeren Klasse deklariert sein (s. Beispiel init_list.cpp)
- das Objekt unterliegt den bekannten Zugriffsrechten für public, private, protected
- terminologisch wird manchmal noch unterschieden zwischen 'normaler' auto Deklaration (Komposition) und Zeiger oder Referenz auf Objekt (Aggregat)
Ein Beispiel ist in der Quellcode-Sammlung enthalten: class_in_class.cpp.
|
Zahlen & Daten
- 494 Seitenaufrufe
- 1122 Tage alt
- 2 Versionen
- Letzte Änderung: 23.04.2009 um 09:43 Uhr
Publish
|