Statische methode C++

Statische Methode C



Een methode in C++ wordt ook wel een functie genoemd, en het gebruik van methoden in C++ promoot het concept van modulair programmeren en herbruikbaarheid van code. Het betekent dat de methoden die eenmaal zijn geschreven zo vaak als nodig herhaald kunnen worden aangeroepen zonder dat ze elke keer opnieuw hoeven te worden geschreven. Deze methoden hebben de volgende drie basiseigenschappen:
  • De statische methoden kunnen rechtstreeks worden opgehaald met de klassenaam en de scope-resolutie-operator zonder een object te maken.
  • De statische methoden van een klasse hebben alleen toegang tot de statische leden van die klasse.
  • De statische methoden hebben geen toegang tot de niet-statische leden van een klasse.

We hebben dit artikel ontworpen om u het gebruik van de statische methoden in C++ in Ubuntu 20.04 te leren.

De statische methode gebruiken in C ++ in Ubuntu 20.04

Om de statische methoden in C++ in Ubuntu 20.04 te gebruiken, moet u eerst alle onderstaande voorbeelden doornemen om een ​​goed idee te krijgen van hoe deze functies werken in C++.







Voorbeeld # 1: onderzoek naar de eerste eigenschap van de statische methoden in C++

In dit voorbeeld willen we de eerste eigenschap van de statische methoden in C++ onderzoeken; de statische methoden van een klasse zijn rechtstreeks toegankelijk met de klassenaam terwijl de scope-resolutie-operator wordt gebruikt. Daarvoor hebben we een C++-script geschreven dat wordt weergegeven in de volgende afbeelding:



  Statische methode C++



In dit C++-script hebben we een klasse met de naam 'Number' gedefinieerd. Binnen het lichaam van deze klas hebben we maar één openbare functie. We hebben deze functie als 'statisch' verklaard. De naam van deze functie is ' AfdrukNum ', en het heeft het getal 'n' als enige parameter. Binnen deze functie willen we gewoon de waarde van dit doorgegeven nummer op de terminal afdrukken. Zoals u kunt zien, hebben we geen constructor voor deze klasse gedefinieerd. Dit betekent dat we niet van plan zijn het object te creëren. In plaats daarvan gaan we rechtstreeks toegang krijgen tot de functies van deze klasse.





Nu, binnen onze “ hoofd() ” functie, hebben we toegang gekregen tot de “ AfdrukNum '-functie van de klasse 'Number' met behulp van de klassenaam en de scope-resolutie-operator. Bij het aanroepen van deze functie hebben we er een willekeurig getal aan doorgegeven, d.w.z. 25. Onze ' hoofd() De functie sluit af met de instructie 'return 0', omdat we hebben aangegeven dat deze een integer-retourtype heeft.

Toen we dit C++-script compileerden en uitvoerden, werd ons nummer correct afgedrukt op de terminal, zoals weergegeven in de onderstaande afbeelding. Het betekent dat aan de eerste eigenschap van de statische methoden in C++ is voldaan: de statische methoden zijn rechtstreeks toegankelijk met de klassenaam zonder een object te maken, en ze werken precies zoals bedoeld.



  Statische methode in c++

Voorbeeld # 2: onderzoek naar de tweede eigenschap van de statische methoden in C++

In dit voorbeeld willen we de tweede eigenschap van de statische methoden in C++ onderzoeken; de statische methoden van een klasse hebben alleen toegang tot de statische leden van die klasse. Daarvoor hebben we een C++-script geschreven dat wordt weergegeven in de volgende afbeelding:

In dit C++-script hebben we eerst een klasse met de naam 'Number' gedefinieerd. In de hoofdtekst van deze klasse hebben we een privélid 'x' dat van het gegevenstype geheel getal is, en we hebben het statisch gemaakt. Dan hebben we maar één publieke functie. We hebben deze functie verklaard als ' statisch ”. De naam van deze functie is ' AfdrukNum ', en het heeft het getal 'n' als enige parameter. Binnen deze functie willen we de waarde van dit doorgegeven nummer op de terminal en de waarde van het statische lid 'x' afdrukken.

Daarna hebben we het statische lid 'x' geïnitialiseerd met een waarde '10' met behulp van de klassenaam buiten onze klasse zonder opnieuw het sleutelwoord 'static' te gebruiken. Nu, binnen onze “ hoofd() ” functie, hebben we toegang gekregen tot de “ AfdrukNum '-functie van de klasse 'Number' met behulp van de klassenaam en de scope-resolutie-operator. Bij het aanroepen van deze functie hebben we er een willekeurig getal aan doorgegeven, d.w.z. 25. Onze ' hoofd() De functie sluit af met de instructie 'return 0', omdat we hebben aangegeven dat deze een integer-retourtype heeft.

Toen we dit C++-script compileerden en uitvoerden, werd ons nummer, evenals de waarde van de variabele 'x', correct afgedrukt op de terminal, zoals weergegeven in de onderstaande afbeelding. Het betekent dat aan de tweede eigenschap van de statische methoden in C++ is voldaan: de statische methoden hebben alleen toegang tot de statische leden van een klasse in C++.

Voorbeeld # 3: onderzoek naar de derde eigenschap van de statische methoden in C++

In dit voorbeeld willen we de derde eigenschap van de statische methoden in C++ verkennen, wat in feite de andere manier is om de tweede eigenschap te vermelden; de statische methoden hebben geen toegang tot de niet-statische leden van een klasse. Daarvoor hebben we een C++-script geschreven dat wordt weergegeven in de volgende afbeelding:

Dit C++-script lijkt precies op het script dat in het tweede voorbeeld wordt getoond. Het enige verschil is echter dat we deze keer de variabele 'x' niet statisch hebben verklaard.

Toen we dit C++-script compileerden en uitvoerden, werd er een foutmelding gegenereerd op de terminal, zoals weergegeven in de onderstaande afbeelding, met de mededeling dat zoiets als de waarde van 'x' niet toegankelijk is via een statische methode in C++. Het betekent dat aan de derde eigenschap van de statische methoden in C++ is voldaan: de statische methoden hebben geen toegang tot niet-statische leden van een klasse in C++.

Voorbeeld # 4: Opeenvolgende rolnummers genereren met behulp van de statische methoden in C++

In dit voorbeeld wilden we alleen een algemeen beeld geven van hoe de statische methoden in C++ werken door onze voorbeelden af ​​te ronden. We gaan gewoon een programma maken om enkele rolnummers binnen het opgegeven bereik te genereren. Daarvoor hebben we een C++-script geschreven dat wordt weergegeven in de volgende afbeelding:

In dit C++-script hebben we een klasse met de naam 'RollNumber'. Binnen deze klasse hebben we een privé statisch lid 'RollNum' van het datatype integer. Dan hebben we een openbare statische methode ' getRollNum() ” met het retourtype integer. Buiten de definitie van deze klasse hebben we onze variabele 'RollNum' geïnitialiseerd met een waarde '1' en onze ' getRollNum() '-functie ook om het opgehoogde 'RollNum' terug te geven elke keer dat het wordt aangeroepen.

Dan, binnen onze “ hoofd() ', hebben we een 'for' -lus die door een tellervariabele van '0' tot '9' wordt herhaald, wat 10 iteraties is. Binnen deze lus willen we de waarde afdrukken die wordt geretourneerd door de ' getRollNum() ”-functie voor elke iteratie. Nogmaals, de “ hoofd() '-functie wordt afgesloten met de instructie 'return 0'.

Toen we dit C++-script compileerden en uitvoerden, werd een reeks van 10 verschillende rolnummers gegenereerd op de terminal, zoals weergegeven in de volgende afbeelding:

Conclusie

Ons doel voor dit artikel was om u het gebruik van de statische methoden in C ++ in Ubuntu 20.04 te leren. We deelden de basiseigenschappen van deze methoden, gevolgd door de vier voorbeelden waarmee u direct kunt leren hoe deze methoden werken in C++. Na het begrijpen van deze voorbeelden, kunt u gemakkelijk een goede beheersing krijgen over de statische methoden in C++. We hopen dat je dit artikel nuttig vond en bekijk Linux Hint voor meer informatieve artikelen.