Unter Hinweis auf statische Elementfunktionen in C ++

EIN statische Member-Funktion ist, in vielerlei Hinsicht, nur eine normale alte Funktion. Der Unterschied ist, dass Sie einen Klassennamen zu verwenden, haben eine statische Funktion aufzurufen. Aber denken Sie daran, dass eine statische Elementfunktion geht nicht mit einer bestimmten Instanz eines Klassen- deshalb brauchen Sie keine Instanz angeben, wenn Sie die statische Funktion aufrufen.

Hier ist ein Beispiel-Klasse mit einer statischen Funktion:

public: static string MyClassName () {return "! Gobstopper" -} int WhichGobstopper-int Chew (string name) {cout lt; lt; WhichGobstopper lt; lt; Endl-cout lt; lt; Name lt; lt; Endl-return WhichGobstopper -}} -

Und hier ist ein Code, der die Adresse der statischen Funktion übernimmt, und fordert sie von der Adresse:

typedef string (* StaticMember) () - StaticMember staticfunc = Gobstopper :: MyClassName-cout lt; lt; staticfunc () lt; lt; endl-

Beachten Sie, dass in der letzten Zeile, können Sie nicht auf eine bestimmte Instanz zu verweisen musste anrufen staticfunc () - und man brauchte nicht auf die Klasse beziehen, auch nicht. Sie nannten es einfach. Denn die Wahrheit, dass tief im Inneren ist, ist die statische Funktion nur eine schlichte alte Funktion.

Menü