Statische Methode C++

Statische Methode C



Eine Methode in C++ wird auch als Funktion bezeichnet, und die Verwendung von Methoden in C++ fördert das Konzept der modularen Programmierung und der Wiederverwendbarkeit von Code. Das bedeutet, dass die einmal geschriebenen Methoden so oft wie nötig wiederholt aufgerufen werden können, ohne dass sie jedes Mal neu geschrieben werden müssen. Diese Methoden haben die folgenden drei grundlegenden Eigenschaften:
  • Die statischen Methoden können direkt mit dem Klassennamen und dem Bereichsauflösungsoperator abgerufen werden, ohne ein Objekt zu erstellen.
  • Die statischen Methoden einer Klasse können nur auf die statischen Member dieser Klasse zugreifen.
  • Die statischen Methoden können nicht auf die nicht statischen Mitglieder einer Klasse zugreifen.

Wir haben diesen Artikel entworfen, um Ihnen die Verwendung der statischen Methoden in C++ in Ubuntu 20.04 beizubringen.

Verwenden der statischen Methode in C++ in Ubuntu 20.04

Um die statischen Methoden in C++ in Ubuntu 20.04 zu verwenden, müssen Sie zuerst alle unten aufgeführten Beispiele durchgehen, um eine gute Vorstellung davon zu bekommen, wie diese Funktionen in C++ funktionieren.







Beispiel Nr. 1: Untersuchen der ersten Eigenschaft der statischen Methoden in C++

In diesem Beispiel möchten wir die erste Eigenschaft der statischen Methoden in C++ untersuchen; Auf die statischen Methoden einer Klasse kann direkt mit dem Klassennamen zugegriffen werden, während der Bereichsauflösungsoperator verwendet wird. Dafür haben wir ein C++-Skript geschrieben, das im folgenden Bild gezeigt wird:



  Statische Methode C++



In diesem C++-Skript haben wir eine Klasse namens „Number“ definiert. Innerhalb des Hauptteils dieser Klasse haben wir nur eine öffentliche Funktion. Wir haben diese Funktion als „statisch“ deklariert. Der Name dieser Funktion lautet „ DruckNr “, und es nimmt die Zahl „n“ als einzigen Parameter. Innerhalb dieser Funktion wollen wir einfach den Wert dieser übergebenen Zahl auf dem Terminal ausgeben. Wie Sie sehen können, haben wir keinen Konstruktor für diese Klasse definiert. Das bedeutet, dass wir nicht beabsichtigen, sein Objekt zu erstellen. Stattdessen greifen wir direkt auf die Funktionen dieser Klasse zu.





Jetzt, in unserem „ hauptsächlich() “-Funktion haben wir die „ DruckNr ”-Funktion der Klasse „Number“ mit Hilfe des Klassennamens und des Scope-Resolution-Operators. Beim Aufruf dieser Funktion haben wir ihr eine Zufallszahl übergeben, z. B. 25. Unser „ hauptsächlich() “-Funktion endet mit der „return 0“-Anweisung, da wir deklariert haben, dass sie einen Integer-Rückgabetyp hat.

Als wir dieses C++-Skript kompiliert und ausgeführt haben, wurde unsere Nummer korrekt auf dem Terminal gedruckt, wie in der Abbildung unten gezeigt. Dies bedeutet, dass die erste Eigenschaft der statischen Methoden in C++ erfüllt ist – auf die statischen Methoden kann direkt mit dem Klassennamen zugegriffen werden, ohne ein Objekt zu erstellen, und sie funktionieren genau wie beabsichtigt.



  Statische Methode in c++

Beispiel Nr. 2: Untersuchen der zweiten Eigenschaft der statischen Methoden in C++

In diesem Beispiel wollen wir die zweite Eigenschaft der statischen Methoden in C++ untersuchen; Die statischen Methoden einer Klasse können nur auf die statischen Member dieser Klasse zugreifen. Dafür haben wir ein C++-Skript geschrieben, das im folgenden Bild gezeigt wird:

In diesem C++-Skript haben wir zunächst eine Klasse namens „Number“ definiert. Innerhalb des Hauptteils dieser Klasse haben wir ein privates Mitglied „x“, das vom Datentyp Integer ist, und wir haben es statisch gemacht. Dann haben wir nur noch eine öffentliche Funktion. Wir haben diese Funktion deklariert als „ statisch “. Der Name dieser Funktion lautet „ DruckNr “, und es nimmt die Zahl „n“ als einzigen Parameter. Innerhalb dieser Funktion wollen wir den Wert dieser übergebenen Zahl am Terminal und den Wert des statischen Members „x“ ausgeben.

Danach haben wir das statische Member „x“ mit Hilfe des Klassennamens außerhalb unserer Klasse mit einem Wert „10“ initialisiert, ohne erneut das Schlüsselwort „static“ zu verwenden. Jetzt, in unserem „ hauptsächlich() “-Funktion haben wir die „ DruckNr ”-Funktion der Klasse „Number“ mit Hilfe des Klassennamens und des Scope-Resolution-Operators. Beim Aufruf dieser Funktion haben wir ihr eine Zufallszahl übergeben, z. B. 25. Unser „ hauptsächlich() “-Funktion endet mit der „return 0“-Anweisung, da wir deklariert haben, dass sie einen Integer-Rückgabetyp hat.

Als wir dieses C++-Skript kompiliert und ausgeführt haben, wurde unsere Nummer sowie der Wert der Variablen „x“ korrekt auf dem Terminal ausgegeben, wie in der Abbildung unten gezeigt. Das bedeutet, dass die zweite Eigenschaft der statischen Methoden in C++ erfüllt ist – die statischen Methoden können nur auf die statischen Member einer Klasse in C++ zugreifen.

Beispiel Nr. 3: Untersuchung der dritten Eigenschaft der statischen Methoden in C++

In diesem Beispiel möchten wir die dritte Eigenschaft der statischen Methoden in C++ untersuchen, was eigentlich die andere Art ist, die zweite Eigenschaft anzugeben; Die statischen Methoden können nicht auf die nicht statischen Mitglieder einer Klasse zugreifen. Dafür haben wir ein C++-Skript geschrieben, das im folgenden Bild gezeigt wird:

Dieses C++-Skript sieht genauso aus wie das im zweiten Beispiel gezeigte Skript. Der einzige Unterschied besteht jedoch darin, dass wir diesmal die Variable „x“ nicht als statisch deklariert haben.

Als wir dieses C++-Skript kompiliert und ausgeführt haben, wurde auf dem Terminal eine Fehlermeldung generiert, wie in der Abbildung unten gezeigt, die besagt, dass auf etwas wie den Wert von „x“ nicht mit einer statischen Methode in C++ zugegriffen werden kann. Das bedeutet, dass die dritte Eigenschaft der statischen Methoden in C++ erfüllt ist – die statischen Methoden können nicht auf irgendwelche nicht-statischen Member einer Klasse in C++ zugreifen.

Beispiel Nr. 4: Generieren fortlaufender Rollennummern mit den statischen Methoden in C++

In diesem Beispiel wollten wir nur einen Überblick darüber geben, wie die statischen Methoden in C++ funktionieren, indem wir unsere Beispiele zusammenfassen. Wir werden nur ein Programm erstellen, um einige Rollennummern innerhalb des bereitgestellten Bereichs zu generieren. Dafür haben wir ein C++-Skript geschrieben, das im folgenden Bild gezeigt wird:

In diesem C++-Skript haben wir eine Klasse namens „RollNumber“. Innerhalb dieser Klasse haben wir ein privates statisches Mitglied „RollNum“ vom Datentyp Integer. Dann haben wir eine öffentliche statische Methode „ getRollNum() “ mit dem Integer-Rückgabetyp. Außerhalb der Definition dieser Klasse haben wir unsere Variable „RollNum“ mit dem Wert „1“ initialisiert und unsere „ getRollNum() “-Funktion, um bei jedem Aufruf die inkrementierte „RollNum“ zurückzugeben.

Dann, in unserem „ hauptsächlich() “-Funktion haben wir eine „for“-Schleife, die eine Zählervariable von „0“ bis „9“ durchläuft, was 10 Iterationen entspricht. Innerhalb dieser Schleife wollen wir den Wert ausgeben, der von „ getRollNum() ”-Funktion für jede Iteration. Nochmals das „ hauptsächlich() “-Funktion endet mit der „return 0“-Anweisung.

Als wir dieses C++-Skript kompiliert und ausgeführt haben, wurde auf dem Terminal eine Reihe von 10 verschiedenen Rollennummern generiert, wie in der folgenden Abbildung gezeigt:

Fazit

Unser Ziel für diesen Artikel war es, Ihnen die Verwendung der statischen Methoden in C++ in Ubuntu 20.04 beizubringen. Wir haben die grundlegenden Eigenschaften dieser Methoden geteilt, gefolgt von den vier Beispielen, anhand derer Sie sofort lernen können, wie diese Methoden in C++ funktionieren. Nachdem Sie diese Beispiele verstanden haben, können Sie sich leicht einen guten Überblick über die statischen Methoden in C++ verschaffen. Wir hoffen, dass Sie diesen Artikel hilfreich fanden, und lesen Sie den Linux-Hinweis für weitere informative Artikel.