Statisk metode C++

Statisk Metode C



En metode i C++ er også kendt som en funktion, og brug af metoder i C++ fremmer konceptet modulær programmering og genanvendelighed af kode. Det betyder, at de metoder, der én gang er skrevet, kan kaldes gentagne gange så mange gange som nødvendigt, uden at det er nødvendigt at skrive dem hver gang. Disse metoder har følgende tre grundlæggende egenskaber:
  • De statiske metoder kan hentes direkte med klassenavnet og scope resolution operatoren uden at oprette noget objekt.
  • De statiske metoder i en klasse kan kun få adgang til de statiske medlemmer af den pågældende klasse.
  • De statiske metoder kan ikke få adgang til de ikke-statiske medlemmer af en klasse.

Vi har designet denne artikel for at lære dig brugen af ​​de statiske metoder i C++ i Ubuntu 20.04.

Brug af den statiske metode i C++ i Ubuntu 20.04

For at bruge de statiske metoder i C++ i Ubuntu 20.04, skal du først gennemgå alle eksemplerne nedenfor for at få en god idé om, hvordan disse funktioner fungerer i C++.







Eksempel # 1: Udforskning af den første egenskab ved de statiske metoder i C++

I dette eksempel ønsker vi at udforske den første egenskab ved de statiske metoder i C++; de statiske metoder i en klasse kan tilgås direkte med klassenavnet, mens du bruger scope resolution-operatoren. Til det har vi skrevet et C++ script vist i følgende billede:



  Statisk metode C++



I dette C++ script har vi defineret en klasse med navnet 'Number'. Inde i denne klasses krop har vi kun én offentlig funktion. Vi har erklæret denne funktion som 'statisk'. Navnet på denne funktion er ' PrintNum ”, og det tager tallet “n” som sin eneste parameter. Inden for denne funktion ønsker vi blot at udskrive værdien af ​​dette beståede nummer på terminalen. Som du kan se, har vi ikke defineret nogen konstruktør for denne klasse. Det betyder, at vi ikke har til hensigt at skabe dens objekt. I stedet vil vi få direkte adgang til funktionerne i denne klasse.





Nu inden for vores ' hoved() '-funktionen, har vi fået adgang til ' PrintNum ” funktion af klassen ”Number” ved hjælp af klassenavnet og scope-opløsningsoperatøren. Mens vi kalder denne funktion, har vi givet den et tilfældigt tal, dvs. 25. Vores ' hoved() '-funktionen afsluttes med 'return 0'-sætningen, da vi har erklæret, at den har en heltalsreturtype.

Da vi kompilerede og udførte dette C++ script, var vores nummer korrekt udskrevet på terminalen, som vist på billedet nedenfor. Det betyder, at den første egenskab for de statiske metoder i C++ er opfyldt — de statiske metoder kan tilgås direkte med klassenavnet uden at oprette noget objekt, og de fungerer nøjagtigt efter hensigten.



  Statisk metode i c++

Eksempel # 2: Udforskning af den anden egenskab ved de statiske metoder i C++

I dette eksempel ønsker vi at udforske den anden egenskab ved de statiske metoder i C++; de statiske metoder i en klasse kan kun få adgang til de statiske medlemmer af den pågældende klasse. Til det har vi skrevet et C++ script vist i følgende billede:

I dette C++ script har vi først defineret en klasse ved navn 'Number'. Inde i kroppen af ​​denne klasse har vi et privat medlem 'x', der er af heltalsdatatypen, og vi har gjort det statisk. Så har vi kun én offentlig funktion. Vi har erklæret denne funktion som ' statisk ”. Navnet på denne funktion er ' PrintNum ”, og det tager tallet “n” som sin eneste parameter. Inden for denne funktion ønsker vi at udskrive værdien af ​​dette beståede tal på terminalen og værdien af ​​det statiske element 'x'.

Derefter har vi initialiseret det statiske medlem 'x' med en værdi '10' ved hjælp af klassenavnet uden for vores klasse uden at bruge det 'statiske' nøgleord igen. Nu inden for vores ' hoved() '-funktionen, har vi fået adgang til ' PrintNum ” funktion af klassen ”Number” ved hjælp af klassenavnet og scope-opløsningsoperatøren. Mens vi kaldte denne funktion, gav vi den et tilfældigt tal, dvs. 25. Vores ' hoved() '-funktionen afsluttes med 'return 0'-sætningen, da vi har erklæret, at den har en heltalsreturtype.

Da vi kompilerede og udførte dette C++ script, var vores nummer, såvel som værdien af ​​variablen 'x', korrekt udskrevet på terminalen, som vist på billedet nedenfor. Det betyder, at den anden egenskab ved de statiske metoder i C++ er opfyldt — de statiske metoder kan kun få adgang til de statiske medlemmer af en klasse i C++.

Eksempel # 3: Udforskning af den tredje egenskab ved de statiske metoder i C++

I dette eksempel ønsker vi at udforske den tredje egenskab ved de statiske metoder i C++, som faktisk er den anden måde at angive den anden egenskab på; de statiske metoder kan ikke få adgang til de ikke-statiske medlemmer af en klasse. Til det har vi skrevet et C++ script vist i følgende billede:

Dette C++ script ser nøjagtigt ud som scriptet vist i det andet eksempel. Men den eneste forskel er, at denne gang har vi ikke erklæret variablen 'x' som statisk.

Da vi kompilerede og udførte dette C++ script, blev der genereret en fejlmeddelelse på terminalen som vist på billedet nedenfor, der angiver noget i stil med værdien af ​​'x' kan ikke tilgås af en statisk metode i C++. Det betyder, at den tredje egenskab ved de statiske metoder i C++ er opfyldt - de statiske metoder kan ikke få adgang til nogen ikke-statiske medlemmer af en klasse i C++.

Eksempel # 4: Generering af fortløbende rullenumre ved at bruge de statiske metoder i C++

I dette eksempel ville vi blot give et samlet overblik over, hvordan de statiske metoder fungerer i C++ ved at pakke vores eksempler ind. Vi vil blot oprette et program til at generere nogle rullenumre inden for det angivne område. Til det har vi skrevet et C++ script vist i følgende billede:

I dette C++ script har vi en klasse ved navn 'RollNumber'. Inden for denne klasse har vi et privat statisk medlem 'RollNum' af heltalsdatatypen. Så har vi en offentlig statisk metode ' getRollNum() ” med heltalsreturtypen. Uden for definitionen af ​​denne klasse har vi initialiseret vores 'RollNum' variabel med en værdi '1' og defineret vores ' getRollNum() ” funktion også for at returnere det øgede “RollNum” hver gang det bliver kaldt.

Så inden for vores ' hoved() ”-funktion, har vi en “for”-løkke, der itererer gennem en tællervariabel fra “0” til “9”, som er til 10 iterationer. Inde i denne løkke ønsker vi at udskrive værdien returneret af ' getRollNum() ”-funktion for hver iteration. Igen, ' hoved() '-funktionen afsluttes med 'retur 0'-sætningen.

Da vi kompilerede og udførte dette C++ script, blev en serie på 10 forskellige rullenumre genereret på terminalen som vist på følgende billede:

Konklusion

Vores mål for denne artikel var at lære dig brugen af ​​de statiske metoder i C++ i Ubuntu 20.04. Vi delte de grundlæggende egenskaber ved disse metoder, efterfulgt af de fire eksempler, hvorigennem du med det samme kan lære, hvordan disse metoder fungerer i C++. Efter at have forstået disse eksempler, kan du nemt opnå en god kommando over de statiske metoder i C++. Vi håber, du fandt denne artikel nyttig, og tjek Linux-tip for mere informative artikler.