Metoda statică C++

Metoda Statica C



O metodă în C++ este cunoscută și ca funcție, iar utilizarea metodelor în C++ promovează conceptul de programare modulară și reutilizarea codului. Înseamnă că metodele care sunt odată scrise pot fi apelate repetitiv de câte ori este nevoie, fără a fi nevoie să le scriem de fiecare dată. Aceste metode au următoarele trei proprietăți de bază:
  • Metodele statice pot fi preluate direct cu numele clasei și operatorul de rezoluție a domeniului fără a crea niciun obiect.
  • Metodele statice ale unei clase pot accesa numai membrii statici ai acelei clase.
  • Metodele statice nu pot accesa membrii nestatici ai unei clase.

Am conceput acest articol pentru a vă învăța cum să utilizați metodele statice în C++ în Ubuntu 20.04.

Folosind metoda statică în C++ în Ubuntu 20.04

Pentru a utiliza metodele statice în C++ în Ubuntu 20.04, mai întâi trebuie să parcurgeți toate exemplele furnizate mai jos pentru a avea o idee bună despre cum funcționează aceste funcții în C++.







Exemplul # 1: Explorarea primei proprietăți a metodelor statice în C++

În acest exemplu, dorim să explorăm prima proprietate a metodelor statice din C++; metodele statice ale unei clase pot fi accesate direct cu numele clasei în timp ce se utilizează operatorul de rezoluție a domeniului. Pentru asta, am scris un script C++ prezentat în imaginea următoare:



  Metoda statică C++



În acest script C++, am definit o clasă numită „Număr”. În corpul acestei clase, avem o singură funcție publică. Am declarat această funcție ca fiind „statică”. Numele acestei funcții este „ PrintNum ”, și ia numărul „n” ca singur parametru. În cadrul acestei funcții, dorim pur și simplu să tipărim valoarea acestui număr transmis pe terminal. După cum puteți vedea, nu am definit niciun constructor pentru această clasă. Aceasta înseamnă că nu intenționăm să-i creăm obiectul. În schimb, vom accesa direct funcțiile acestei clase.





Acum, în cadrul nostru „ principal() ”, am accesat funcția „ PrintNum ” funcția clasei „Număr” cu ajutorul numelui clasei și al operatorului de rezoluție a domeniului. În timp ce apelăm această funcție, i-am transmis un număr aleatoriu, adică 25. principal() ” funcția se încheie cu instrucțiunea „return 0” deoarece am declarat că are un tip de returnare întreg.

Când am compilat și executat acest script C++, numărul nostru a fost corect tipărit pe terminal, așa cum se arată în imaginea de mai jos. Înseamnă că prima proprietate a metodelor statice din C++ a fost satisfăcută - metodele statice pot fi accesate direct cu numele clasei fără a crea niciun obiect și funcționează exact așa cum este intenționat.



  Metoda statică în c++

Exemplul # 2: Explorarea celei de-a doua proprietăți a metodelor statice în C++

În acest exemplu, dorim să explorăm a doua proprietate a metodelor statice din C++; metodele statice ale unei clase pot accesa numai membrii statici ai acelei clase. Pentru asta, am scris un script C++ prezentat în imaginea următoare:

În acest script C++, am definit mai întâi o clasă numită „Număr”. În corpul acestei clase, avem un membru privat „x” care este de tipul de date întreg și l-am făcut static. Apoi, avem o singură funcție publică. Am declarat această funcție ca „ static ”. Numele acestei funcții este „ PrintNum ”, și ia numărul „n” ca singur parametru. În cadrul acestei funcții, dorim să tipărim valoarea acestui număr transmis pe terminal și valoarea membrului static „x”.

După aceea, am inițializat membrul static „x” cu o valoare „10” cu ajutorul numelui clasei din afara clasei noastre, fără a folosi din nou cuvântul cheie „static”. Acum, în cadrul nostru „ principal() ”, am accesat funcția „ PrintNum ” funcția clasei „Număr” cu ajutorul numelui clasei și al operatorului de rezoluție a domeniului. În timp ce apelam această funcție, i-am transmis un număr aleatoriu, adică 25. „ principal() ” funcția se încheie cu instrucțiunea „return 0” deoarece am declarat că are un tip de returnare întreg.

Când am compilat și executat acest script C++, numărul nostru, precum și valoarea variabilei „x”, au fost corect tipărite pe terminal, așa cum se arată în imaginea de mai jos. Înseamnă că a doua proprietate a metodelor statice din C++ a fost satisfăcută - metodele statice pot accesa doar membrii statici ai unei clase în C++.

Exemplul # 3: Explorarea celei de-a treia proprietăți a metodelor statice în C++

În acest exemplu, dorim să explorăm a treia proprietate a metodelor statice din C++, care este, de fapt, celălalt mod de a afirma a doua proprietate; metodele statice nu pot accesa membrii nestatici ai unei clase. Pentru asta, am scris un script C++ prezentat în următoarea imagine:

Acest script C++ arată exact ca scriptul prezentat în al doilea exemplu. Cu toate acestea, singura diferență este că de data aceasta nu am declarat variabila „x” ca fiind statică.

Când am compilat și executat acest script C++, a fost generat un mesaj de eroare pe terminal, așa cum se arată în imaginea de mai jos, afirmând că ceva de genul „x” nu poate fi accesat printr-o metodă statică în C++. Înseamnă că a treia proprietate a metodelor statice din C++ a fost îndeplinită - metodele statice nu pot accesa niciun membru nestatic al unei clase în C++.

Exemplul # 4: Generarea de numere consecutive de rulare prin utilizarea metodelor statice în C++

În acest exemplu, am vrut doar să oferim o imagine de ansamblu asupra modului în care funcționează metodele statice în C++, completând exemplele noastre. Vom crea doar un program pentru a genera unele numere de rolă în intervalul furnizat. Pentru asta, am scris un script C++ prezentat în imaginea următoare:

În acest script C++, avem o clasă numită „RollNumber”. În cadrul acestei clase, avem un membru static privat „RollNum” de tip de date întreg. Apoi, avem o metodă publică statică” getRollNum() ” cu tipul de returnare întreg. În afara definiției acestei clase, am inițializat variabila noastră „RollNum” cu o valoare „1” și am definit „ getRollNum() ” pentru a returna „RollNum” incrementat de fiecare dată când este apelat.

Apoi, în cadrul nostru „ principal() ”, avem o buclă „for” care iterează printr-o variabilă contor de la „0” la „9”, care este pentru 10 iterații. În cadrul acestei bucle, dorim să tipărim valoarea returnată de „ getRollNum() ” pentru fiecare iterație. Din nou, „ principal() ” funcția se încheie cu instrucțiunea „return 0”.

Când am compilat și executat acest script C++, a fost generată pe terminal o serie de 10 numere de rol diferite, așa cum se arată în imaginea următoare:

Concluzie

Scopul nostru pentru acest articol a fost să vă învățăm cum să folosiți metodele statice în C++ în Ubuntu 20.04. Am împărtășit proprietățile de bază ale acestor metode, urmate de cele patru exemple prin care puteți afla instantaneu cum funcționează aceste metode în C++. După ce înțelegeți aceste exemple, puteți obține cu ușurință o comandă bună asupra metodelor statice din C++. Sperăm că ați găsit acest articol util și consultați Linux Hint pentru mai multe articole informative.