- Statické metódy možno získať priamo s názvom triedy a operátorom rozlíšenia rozsahu bez vytvorenia akéhokoľvek objektu.
- Statické metódy triedy môžu pristupovať iba k statickým členom tejto triedy.
- Statické metódy nemajú prístup k nestatickým členom triedy.
Tento článok sme navrhli, aby sme vás naučili používať statické metódy v C++ v Ubuntu 20.04.
Použitie statickej metódy v C++ v Ubuntu 20.04
Ak chcete použiť statické metódy v C++ v Ubuntu 20.04, musíte si najprv prejsť všetky príklady uvedené nižšie, aby ste mali dobrú predstavu o tom, ako tieto funkcie fungujú v C++.
Príklad č. 1: Skúmanie prvej vlastnosti statických metód v C++
V tomto príklade chceme preskúmať prvú vlastnosť statických metód v C++; k statickým metódam triedy je možné pristupovať priamo s názvom triedy pri použití operátora rozlíšenia rozsahu. Na tento účel sme napísali skript C++ zobrazený na nasledujúcom obrázku:
V tomto skripte C++ sme definovali triedu s názvom „Number“. Vo vnútri tela tejto triedy máme len jednu verejnú funkciu. Túto funkciu sme deklarovali ako „statickú“. Názov tejto funkcie je „ PrintNum “ a ako jediný parameter berie číslo „n“. V rámci tejto funkcie chceme jednoducho vytlačiť hodnotu tohto odovzdaného čísla na termináli. Ako vidíte, pre túto triedu sme nedefinovali žiadny konštruktor. To znamená, že nemáme v úmysle vytvoriť jej objekt. Namiesto toho pristúpime priamo k funkciám tejto triedy.
Teraz v rámci nášho „ hlavné() “, dostali sme sa k funkcii “ PrintNum ” funkcie triedy „Number“ pomocou názvu triedy a operátora rozlíšenia rozsahu. Pri volaní tejto funkcie sme jej odovzdali náhodné číslo, t. j. 25. Náš „ hlavné() Funkcia ” sa uzatvára s príkazom „návrat 0“, pretože sme deklarovali, že má celočíselný návratový typ.
Keď sme skompilovali a spustili tento skript C++, naše číslo bolo správne vytlačené na termináli, ako je znázornené na obrázku nižšie. Znamená to, že prvá vlastnosť statických metód v C++ bola splnená — k statickým metódam je možné pristupovať priamo s názvom triedy bez vytvárania akéhokoľvek objektu a fungujú presne tak, ako majú.
Príklad č. 2: Skúmanie druhej vlastnosti statických metód v C++
V tomto príklade chceme preskúmať druhú vlastnosť statických metód v C++; statické metódy triedy môžu pristupovať iba k statickým členom tejto triedy. Na tento účel sme napísali skript C++ zobrazený na nasledujúcom obrázku:
V tomto skripte C++ sme najprv definovali triedu s názvom „Number“. V tele tejto triedy máme súkromného člena „x“, ktorý má celočíselný dátový typ a urobili sme ho statickým. Potom máme len jednu verejnú funkciu. Túto funkciu sme deklarovali ako „ statické “. Názov tejto funkcie je „ PrintNum “ a ako jediný parameter berie číslo „n“. V rámci tejto funkcie chceme vytlačiť hodnotu tohto odovzdaného čísla na termináli a hodnotu statického člena „x“.
Potom sme inicializovali statický člen „x“ s hodnotou „10“ pomocou názvu triedy mimo našej triedy bez opätovného použitia kľúčového slova „static“. Teraz v rámci nášho „ hlavné() “, dostali sme sa k funkcii “ PrintNum ” funkcie triedy „Number“ pomocou názvu triedy a operátora rozlíšenia rozsahu. Pri volaní tejto funkcie sme jej odovzdali náhodné číslo, t. j. 25. Náš „ hlavné() Funkcia ” končí príkazom „návrat 0“, pretože sme deklarovali, že má celočíselný návratový typ.
Keď sme skompilovali a spustili tento skript C++, naše číslo, ako aj hodnota premennej „x“, boli správne vytlačené na termináli, ako je znázornené na obrázku nižšie. Znamená to, že druhá vlastnosť statických metód v C++ bola splnená — statické metódy majú prístup len k statickým členom triedy v C++.
Príklad č. 3: Skúmanie tretej vlastnosti statických metód v C++
V tomto príklade chceme preskúmať tretiu vlastnosť statických metód v C++, čo je v skutočnosti druhý spôsob vyjadrenia druhej vlastnosti; statické metódy nemajú prístup k nestatickým členom triedy. Na tento účel sme napísali skript C++ zobrazený na nasledujúcom obrázku:
Tento skript C++ vyzerá presne ako skript zobrazený v druhom príklade. Jediný rozdiel je však v tom, že tentoraz sme premennú „x“ nedeklarovali ako statickú.
Keď sme skompilovali a spustili tento skript C++, na termináli sa vygenerovalo chybové hlásenie, ako je znázornené na obrázku nižšie, v ktorom sa uvádza, že k hodnote „x“ nie je možné pristupovať statickou metódou v C++. Znamená to, že tretia vlastnosť statických metód v C++ bola splnená — statické metódy nemajú prístup k žiadnym nestatickým členom triedy v C++.
Príklad č. 4: Generovanie po sebe idúcich čísel pomocou statických metód v C++
V tomto príklade sme len chceli poskytnúť celkový pohľad na to, ako fungujú statické metódy v C++, a to zhrnutím našich príkladov. Práve vytvoríme program na generovanie niektorých čísel hodov v rámci poskytnutého rozsahu. Na tento účel sme napísali skript C++ zobrazený na nasledujúcom obrázku:
V tomto skripte C++ máme triedu s názvom „RollNumber“. V rámci tejto triedy máme súkromného statického člena „RollNum“ celočíselného dátového typu. Potom máme verejnú statickú metódu “ getRollNum() ” s návratovým typom celé číslo. Mimo definície tejto triedy sme inicializovali našu premennú „RollNum“ s hodnotou „1“ a definovali naše „ getRollNum() ” tiež vrátiť zvýšené „RollNum“ pri každom volaní.
Potom v rámci nášho „ hlavné() ” máme cyklus “for”, ktorý iteruje cez premennú počítadla od “0” do “9”, čo je pre 10 iterácií. Vo vnútri tohto cyklu chceme vytlačiť hodnotu vrátenú „ getRollNum() ” pre každú iteráciu. Opäť platí, že „ hlavné() ” funkcia končí príkazom “návrat 0”.
Keď sme skompilovali a spustili tento skript C++, na termináli sa vygenerovala séria 10 rôznych čísel rolovania, ako je znázornené na nasledujúcom obrázku:
Záver
Naším cieľom tohto článku bolo naučiť vás používať statické metódy v C++ v Ubuntu 20.04. Zdieľali sme základné vlastnosti týchto metód, po ktorých nasledujú štyri príklady, prostredníctvom ktorých sa môžete okamžite naučiť, ako tieto metódy fungujú v C++. Po pochopení týchto príkladov môžete ľahko získať dobrú kontrolu nad statickými metódami v C++. Dúfame, že vám tento článok pomohol a ďalšie informatívne články nájdete v časti Linux Hint.