Klasse in Klasse schreiben
-
Hi,
Ich möchte eine Klasse zwecks Kapselung nur einer Klasse zugänglich machen und diese deshalb direkt in einer anderen Klasse definieren. Leider finde ich via Suchmaschine keine helfenden Ergebnisse. Es wäre schön, wenn jemand einen Adressverweis zu einer Seite, in der dies beschrieben wird, oder ein kurzes Codesegment zum Verstehen zur Verfügung stellen würde.
-
Hallo,
Suche mal nach nested classes. Letzendlich ist das aber ganz einfach. Du musst doch nur deine neue Klasse in der Deklaration deiner anderen Klasse deklarieren.
class AA { public: class BB { int foo(); }; int i1; BB bb1; }; // Definition von foo aus BB int AA::BB::foo() { }
-
#include <iostream> class Outer { class Inner { void shout() const { std::cout << "Wo ist das Problem?"; } }; public: void foo() const { Inner i; i.shout(); } }; int main() { Outer o; o.foo(); }
-
Vielen Dank.