Statisk metode C ++

Statisk metode C ++
En metode i C ++ er også kjent som en funksjon, og bruk av metoder i C ++ fremmer begrepet modulær programmering og kode gjenbrukbarhet. Det betyr at metodene som en gang er skrevet, kan kalles repetitivt i så mange ganger som nødvendig uten å ha nødvendigheten av å skrive dem hver gang. Disse metodene har følgende tre grunnleggende egenskaper:
  • De statiske metodene kan hentes direkte med klassenavnet og omfangsoppløsningsoperatøren uten å opprette noe objekt.
  • De statiske metodene i en klasse kan bare få tilgang til de statiske medlemmene i den klassen.
  • De statiske metodene har ikke tilgang til de ikke-statiske medlemmene i en klasse.

Vi har designet denne artikkelen for å lære deg bruken av de statiske metodene i C ++ i Ubuntu 20.04.

Bruke den statiske metoden i C ++ i Ubuntu 20.04

For å bruke de statiske metodene i C ++ i Ubuntu 20.04, må du først gå gjennom alle eksemplene som er gitt nedenfor for å ha en god ide om hvordan disse funksjonene fungerer i C++.

Eksempel 1: Utforske den første egenskapen til de statiske metodene i C++

I dette eksemplet ønsker vi å utforske den første egenskapen til de statiske metodene i C ++; De statiske metodene for en klasse kan nås direkte med klassenavnet mens du bruker Operatør for oppløsningsoppløsning. For det har vi skrevet et C ++ -skript vist i følgende bilde:

I dette C ++ -skriptet har vi definert en klasse som heter "Nummer". Inne i kroppen av denne klassen har vi bare en offentlig funksjon. Vi har erklært denne funksjonen som "statisk". Navnet på denne funksjonen er "Printnum”, Og det tar tallet“ N ”som det eneste parameteren. Innenfor denne funksjonen ønsker vi ganske enkelt å skrive ut verdien av dette passerte nummeret på terminalen. Som du ser, har vi ikke definert noen konstruktør for denne klassen. Dette betyr at vi ikke har tenkt å lage objektet. I stedet skal vi få tilgang til funksjonene til denne klassen direkte.

Nå, innenfor våre “hoved()”Funksjon, vi har fått tilgang til“Printnum”Funksjonen til“ Nummer ”-klassen ved hjelp av klassenavnet og omfangsoppløsningsoperatøren. Mens vi kaller denne funksjonen, har vi gitt den et tilfeldig tall, jeg.e., 25. Vår "hoved()”Funksjonen pakker seg sammen med“ Return 0 ”-erklæringen siden vi erklærte den for å ha en heltalls returtype.

Da vi samlet og utførte dette C ++ -skriptet, ble nummeret vårt riktig skrevet ut på terminalen, som vist på bildet nedenfor. Det betyr at den første egenskapen til de statiske metodene i C ++ har blitt tilfredsstilt - de statiske metodene kan nås direkte med klassenavnet uten å lage noe objekt, og de fungerer nøyaktig som ment.

Eksempel 2: Utforske den andre egenskapen til de statiske metodene i C++

I dette eksemplet ønsker vi å utforske den andre egenskapen til de statiske metodene i C ++; De statiske metodene i en klasse kan bare få tilgang til de statiske medlemmene i den klassen. For det har vi skrevet et C ++ -skript vist i følgende bilde:

I dette C ++ -skriptet har vi først definert en klasse som heter "Number". Inne i kroppen av denne klassen har vi et privat medlem "X" som er av heltalldatatype, og vi har gjort det statisk. Da har vi bare en offentlig funksjon. Vi har erklært denne funksjonen som "statisk”. Navnet på denne funksjonen er "Printnum”, Og det tar tallet“ N ”som det eneste parameteren. Innenfor denne funksjonen ønsker vi å skrive ut verdien av dette passerte nummeret på terminalen og verdien av det statiske medlemmet “x”.

Etter det har vi initialisert det statiske medlemmet “X” med en verdi “10” ved hjelp av klassenavnet utenfor klassen vår uten å bruke det "statiske" nøkkelordet igjen. Nå, innenfor våre “hoved()”Funksjon, vi har fått tilgang til“Printnum”Funksjonen til“ Nummer ”-klassen ved hjelp av klassenavnet og omfangsoppløsningsoperatøren. Mens vi kalte denne funksjonen, passerte vi den et tilfeldig tall, jeg.e., 25. Vår "hoved()”Funksjonen pakker seg sammen med“ Return 0 ”-erklæringen siden vi erklærte den for å ha en heltalls returtype.

Da vi samlet og utførte dette C ++ -skriptet, ble nummeret vårt, så vel som verdien av variabelen “X”, riktig skrevet ut på terminalen, som vist på bildet nedenfor. Det betyr at den andre egenskapen til de statiske metodene i C ++ har blitt tilfredsstilt - de statiske metodene kan bare få tilgang til de statiske medlemmene i en klasse i C++.

Eksempel nr. 3: Utforske den tredje egenskapen til de statiske metodene i C++

I dette eksemplet ønsker vi å utforske den tredje egenskapen til de statiske metodene i C ++, som faktisk er den andre måten å oppgi den andre egenskapen; De statiske metodene har ikke tilgang til de ikke-statiske medlemmene i en klasse. For det har vi skrevet et C ++ -skript vist i følgende bilde:

Dette C ++ -skriptet ser nøyaktig ut som skriptet som vises i det andre eksemplet. Den eneste forskjellen er imidlertid at vi denne gangen ikke har erklært variabelen “X” som statisk.

Da vi samlet og utførte dette C ++ -skriptet, ble en feilmelding generert på terminalen som vist på bildet nedenfor, og sier noe som verdien av “X” kan ikke nås ved en statisk metode i C++. Det betyr at den tredje egenskapen til de statiske metodene i C ++ har blitt tilfredsstilt - de statiske metodene ikke har tilgang til ikke -statiske medlemmer av en klasse i C++.

Eksempel 4: generere påfølgende rulletall ved å bruke de statiske metodene i C++

I dette eksemplet ønsket vi bare å gi et overordnet syn på hvordan de statiske metodene fungerer i C ++ ved å pakke sammen eksemplene våre. Vi lager bare et program for å generere noen rulletall innenfor det medfølgende området. For det har vi skrevet et C ++ -skript vist i følgende bilde:

I dette C ++ -skriptet har vi en klasse som heter “RollNumber”. Innenfor denne klassen har vi et privat statisk medlem "Rollnum" av heltalldatatype. Deretter har vi en offentlig statisk metode “getRollnum ()”Med heltalls returtypen. Utenfor definisjonen av denne klassen har vi initialisert vår "rollnum" -variabel med en verdi "1" og definert vår "getRollnum ()”Funksjon også for å returnere den økte“ rollnum ”hver gang det blir kalt.

Da, innenfor vår “hoved()”Funksjon, vi har en“ for ”-sløyfe som itererer gjennom en motvariabel fra“ 0 ”til“ 9 ”, som er for 10 iterasjoner. Inne i denne sløyfen ønsker vi å skrive ut verdien som returneres av “getRollnum ()”Funksjon for hver iterasjon. Igjen, “hoved()”Funksjonen pakker seg sammen med“ Return 0 ”-uttalelsen.

Da vi samlet og utførte dette C ++ -skriptet, ble en serie på 10 forskjellige rulletall generert på terminalen som vist i følgende bilde:

Konklusjon

Målet vårt for denne artikkelen var å lære deg bruken av de statiske metodene i C ++ i Ubuntu 20.04. Vi delte de grunnleggende egenskapene til disse metodene, etterfulgt av de fire eksemplene som du umiddelbart kan lære hvordan disse metodene fungerer i C++. Etter å ha forstått disse eksemplene, kan du enkelt skaffe deg en god kommando over de statiske metodene i C++. Vi håper du fant denne artikkelen nyttig, og sjekk ut Linux -hint for mer informative artikler.