Was bedeuten zwei Doppelpunkte in C++ genau ?
-
Hi @all,
ich hab vor kurzem erst angefangen in Visual C++ zu programmieren, hab mich jedoch innerhalb der letzten 3 Tage sehr intensiv mit Cpp auseinandergesetzt - vor allem weil ich mir ein Buch über C++ gekauft hab. Bis jetzt hab ich eigentlich alles verstanden...jedoch stoße ich nach ein paar Seiten immer wieder auf Anweisungen mit zwei Doppelpunkten
Und genau da liegt mein Problem. Schaut euch mal folgenden Code an:CTime::GetCurrentTime();
Im Gegensatz dazu:
(HBITMAP)::LoadImage (...);
Wann benutzt man eigentlich die zwei Doppelpunkte, gefolgt von dem Befehl ?
Ich mein, man muss doch eigentlich erst eine Variable deklarieren oder? Also z.B. so:CTime lTime;
lTime.GetCurrentTime();Was ist an dem Aufruf mit den zwei Doppelpunkten anders ???
Und wann muss ich das, was vor den beiden Doppelpunkten steht, einklammern,
wie im 2. Beispiel ?Wäre echt nett, wenn ihr mir da helfen könntet
Schönen Gruß
Xzibit
-
Es hat was mit dem Scope zu tun. Lies ein gutes Buch dazu.
Bye, TGGC (Pipe my World.)
-
*lol* ...sehr witzig - wenn ich eins hätte in dem genau das drinstehen würde,
dann würde ich ja diese Frage nicht hier im Forum posten oder ???? (->Logik ?)Kann mir das denn keiner erklären ?
Oder kennt jemand nen Link, wo das beschrieben ist ?
(Ich nehm alles, sogar wenns nur ein Tip ist, wo das
in der MSDN Library steht) _
-
Tja, musst mal eins kaufen/ leihen.
Bye, TGGC (Pipe my World.)
-
hier wirst du sicher fündig
http://www.c-plusplus.net/cms/modules.php?op=modload&name=Downloads&file=index&req=viewsdownload&sid=2den doppelpunkt kann man auch "bereichszugriffsoperator" nennen, eine schreckliche übersetzung ... aber vielleicht hilfreich zum verständnis.
-
oder simpel aufgedrückt
class foo { public: void func(); //funktion der klasse static void static_func(){} //statische funktion der klasse ( brauch keine instanz ) }; void func(){}//globale funktion void foo::func() //funktion der klasse { ::func(); // ruft die globale funktion func auf func(); // ruft die funktion der klasse auf //innerhalb der klasse gäbs sonst probleme die zwei zu unterscheiden } int main() { foo::static_func(); // ruft die statische funktion func auf ohne ne instanz zu erstellen return 0; }