


Können statische Membermethoden für Klasseninstanzen in C aufgerufen werden?
Nov 08, 2024 pm 02:16 PMAufrufen statischer Member-Methoden für Klasseninstanzen in C
Es stellt sich die Frage nach der Gültigkeit des Aufrufs statischer Member-Methoden für Klasseninstanzen in C. Statische Mitgliedsmethoden werden normalerweise über den Klassennamen aufgerufen, aber der folgende Codeausschnitt scheint dieser Konvention zu widersprechen:
class Test { public: static void DoCrash() { std::cout << "TEST IT!" << std::endl; } }; int main() { Test k; k.DoCrash(); }
Frage:
- Ist es das? Ist es richtig, eine statische Member-Methode mithilfe der Klasseninstanzsyntax aufzurufen?
- Wenn ja, was ist der Grund dafür?
Antwort:
Während statische Membermethoden herkömmlicherweise über den Klassennamen aufgerufen werden, ermöglicht der C-Standard den Aufruf auf Klasseninstanzen. Dies geht aus dem folgenden Abschnitt im C 03-Standard hervor:
„Ein statisches Mitglied s der Klasse Member-Zugriffssyntax (5.2.5), um auf ein statisches Mitglied zu verweisen, indem die Klassenmitglieds-Zugriffssyntax verwendet wird. In diesem Fall wird der Objektausdruck ausgewertet Eine statische Member-Methode über die Klasseninstanzsyntax ist nicht nur zulässig, sondern hat auch eine andere Semantik. In solchen Fällen wird der Objektausdruck ausgewertet, was möglicherweise Vorteile im Kontext der generischen Programmierung bietet.Beispiel:
Der folgende Code zeigt, wie statische Member-Methoden funktionieren kann sowohl mit Klassennamen als auch mit Instanzsyntax verwendet werden:
Das obige ist der detaillierte Inhalt vonKönnen statische Membermethoden für Klasseninstanzen in C aufgerufen werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert?

GULC: C -Bibliothek von Grund auf neu gebaut

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte

Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die?

eindeutiger Gebrauch und Phrasenfreigabe

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher?

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)?

Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient?
