Vorwärtsdekleration für Methoden einer klasse ???
-
Hi,
kann man eine Vorwärtsdekleration für Methoden einer klasse machen
class foo; //OK foo::foo(int); //Geht nicht class foo { foo(int){} };
-
In der header-Datei:
class foo { void foo(int); };In der cpp-Datei:
#include "foo.h" void foo:foo(int){ }
-
Hi XSpille,
danke für die antwort, aber es geht mir doch explizit um eine Vorwärtsdekleration
für Membermethoden.... .Gruß
-
AlexanderKiebler schrieb:
Hi,
kann man eine Vorwärtsdekleration für Methoden einer klasse machen
Nein. Was willst du denn erreichen?
-
Hi Camper,
sowas in der Art existiert, und es sollen sich alle Methoden in der Klassendefinition befinden (bitte keine Aussagen darüber ob das gut ist
Das kann ich nicht ändern
):class a { a(int){} a_f1(){b_f1();} } class b { b(int){} b_f1(){a_f1();} }In der richtung müsst es sein....
-
void foo(); class a { a(int){} a_f1(){foo()} } class b { b(int){} b_f1(){a_f1();} } void foo(); { b_fl(); }
-
class a { a(int){} a_f1(); }; class b { b(int){} b_f1(){a_f1();} }; inline void a::a_f1(); { b_fl(); }Erspart dir die unnütze Funktion foo() und ist genau das, was du wolltest (nur halt explizit inline anstatt implizit).
-
@KFM
Ja explizites inline finde ich so oder so übersichtlicher und von der Seite aus besser.Gruß
-
KFM schrieb:
Erspart dir die unnütze Funktion foo() und ist genau das, was du wolltest (nur halt explizit inline anstatt implizit).
AlexanderKiebler schrieb:
es sollen sich alle Methoden in der Klassendefinition befinden