Príklady funkcie C++ Const

Priklady Funkcie C Const



Tento článok sa zameriava na kľúčové slovo „const“, ktoré sa používa s funkciou v C++. Kľúčové slovo „const“ sa označuje ako konštantná hodnota, ktorú nemôžeme meniť počas vykonávania programu. Funkcie „const“ v C++ sú tie funkcie, ktorých dátové členy je možné v ich triede meniť. Funkcie „pokračovania“ sa používajú efektívne, pretože môžu zabrániť neočakávaným úpravám hodnoty objektu.

Príklad 1: Program členskej funkcie Const v C++

Tu máme jednoduchý program členskej funkcie const:

#include
použitím menný priestor std ;
trieda Moja trieda {
int na jeden ;
verejnosti :
Moja trieda ( int n = 0 ) {
na jeden = n ;
}
int getValue ( ) konšt {
vrátiť na jeden ;
}
} ;
int Hlavná ( ) {
konšt Moja trieda c ( 30 ) ;
Moja trieda c1 ( 5 ) ;
cout << 'Číslo pomocou objektu c: ' << c. getValue ( ) ;
cout << ' \n Číslo pomocou objektu c1 : ' << c1. getValue ( ) ;
vrátiť 0 ;
}

Na začiatku definujeme hlavičkový súbor, ktorý umožňuje vstupné/výstupné prúdy programu. Potom nastavíme triedu „MyClass“, kde deklarujeme premennú „num“ a členské funkcie funkcie MyClass() a funkcie getVal(). Vo vnútri funkcie MyClass() nastavíme parameter „n“ na hodnotu „0“. Potom sa argument „n“ priradí k premennej „num“. Ďalej zavoláme funkciu getVal() s kľúčovým slovom „const“, čo znamená, že súčasný stav objektu nemožno zmeniť pri volaní funkcie. Funkcia getVal() vracia členskú premennú „num“.







Nakoniec sa dostaneme k funkcii main(). Tu definujeme objekty „c“ a „c1“ funkcie MyClass() a týmto objektom tiež odovzdávame hodnoty. Objekt „c“ je nastavený s kľúčovým slovom „const“, čo znamená, že hodnotu priradenú tomuto objektu nemožno zmeniť.



Výstup členskej funkcie const, ktorá je volaná objektom, je zobrazená nižšie. Týmto spôsobom môžeme použiť kľúčové slovo „const“ s členskou funkciou a objektom:







Príklad 2: Program členskej funkcie Const mimo triedy v C++

Teraz máme ďalšiu implementáciu, kde je členská funkcia const definovaná mimo definície triedy a nastavuje a získava hodnotu súkromnej členskej premennej pomocou členskej funkcie const.

#include
použitím menný priestor std ;

trieda NewClass {
int i ;

verejnosti :
neplatné set_record ( int ) ;

int get_record ( ) konšt ;
} ;

neplatné NewClass :: set_record ( int X ) { i = X ; }
int NewClass :: get_record ( ) konšt { vrátiť i ; }

int Hlavná ( )
{
NewClass c ;
c. set_record ( 10 ) ;
cout << c. get_record ( ) ;

vrátiť 0 ;
}

Tu najprv vytvoríme triedu „NewClass“, kde inicializujeme premennú „i“, ktorá zostane súkromná. Potom máme verejné kľúčové slovo, kde sú definované členské funkcie set_record() a get_record(). Členská funkcia set_record() sa používa na nastavenie hodnoty premennej „i“ a funkcia get_record() sa tu používa na vrátenie hodnoty premennej „i“. Všimnite si, že kľúčové slovo „const“ používame s členskou funkciou get_record(), ktorá ho reprezentuje ako členská funkcia const, a stav objektu nemožno zmeniť. Potom máme definíciu funkcie set_record() na nastavenie hodnoty premennej „i“.



Podobne máme definíciu funkcie get_record() na získanie hodnoty premennej „i“. Potom nastavíme funkciu main(), kde máme deklaráciu objektu „c“ triedy „NewClass“. Potom sa zavolá „set_record“, nekonštantná členská funkcia, ktorá priradí hodnotu premennej „z“. Ďalej zavoláme členskú funkciu get_record() const, ktorá vypíše hodnotu „i“.

Hodnotu súkromnej členskej premennej zavolá členská funkcia const a zobrazí sa v nasledujúcej výzve:

Príklad 3: Program konštantnej členskej funkcie definovanej mimo triedy ako nezávislá funkcia

Implementujeme však ďalší prípad členskej funkcie const, kde sa členská funkcia s kľúčovým slovom „const“ volá mimo triedy ako samostatná funkcia.

#include
použitím menný priestor std ;
trieda Rovnica {
int n1, n2 ;
verejnosti :
neplatné set_equation ( int X, int a )
{
n1 = X ;
n2 = a ;
}
neplatné show_equation ( )
{
cout << 'Rovnica je:' << n1 << '+' << n2 << 'b' << endl ;
}
priateľ neplatné je to zábava ( konšt Rovnica ) ;
} ;
neplatné je to zábava ( konšt Rovnica obj )
{
cout << 'Funkcia pomocou rovnice je: ' << obj. n1 << '+' << obj. n2 << 'b' << endl ;
}
int Hlavná ( )
{
Rovnica obj ;
obj. set_equation ( 5 , 8 ) ;
obj. show_equation ( ) ;
je to zábava ( obj ) ;
}

Tu vytvoríme triedu „Equation()“ a potom deklarujeme premenné „n1“ a „n2“. Tu tiež pridáme členskú funkciu set_Equation() na nastavenie hodnôt premenných „n1“ a „n2“. Funkcia show_Equation() zobrazuje rovnicu, ktorá sa generuje pomocou týchto premenných.

Potom máme deklaráciu funkcie funIs(), ktorá je definovaná pomocou kľúčového slova „friend“. Toto kľúčové slovo „friend“ nám umožňuje prístup k súkromnému členovi triedy „Equation“. Ďalej zavoláme funkciu priateľa „funIs()“ mimo triedy a zadáme parameter „obj“ triedy „Equation“ ako const. Nakoniec máme funkciu main(), kde deklarujeme objekt triedy „Equation“. Potom nastavíme hodnoty premenných „n1“ a „n2“ pomocou funkcie set_Equation(). Premenné „n1“ a „n2“ sa používajú na zobrazenie ich hodnôt pomocou funkcie show_Equation(). Nakoniec zavoláme priateľskú funkciu „funIs“ triedy „Equation“, aby sme zobrazili rovnicu.

Rovnica a rovnica používajúca funkciu const friend sa zobrazia na výzve:

Príklad 4: Program členskej funkcie Const na aktualizáciu hodnoty v C++ (najhorší prípad)

Program demonštruje najhorší scenár členskej funkcie const, kde sa snažíme modifikovať hodnotu premennej s názvom „vnútri členskej funkcie const“.

#include
použitím menný priestor std ;

trieda Údaje {
int v ;

verejnosti :
neplatné setValue ( int i ) { v = i ; }
int getValue ( ) konšt
{

++ v ;
vrátiť v ;
}

} ;

int Hlavná ( )
{
Údaje d ;
d. setValue ( dvadsať ) ;
cout << endl << d. getValue ( ) ;

vrátiť 0 ;
}

Tu najprv vytvoríme triedu „Data“ a deklarujeme premennú „v“ v rámci triedy. Potom nastavíme kľúčové slovo „public“ a potom deklarujeme členské funkcie triedy „setValue()“, ktorá predstavuje konštruktor triedy a getValue(), ktorá označuje členskú funkciu triedy getter. Funkcia setValue() berie ako parameter premennú „i“. Táto premenná „i“ je priradená k členskej premennej „v“.

Potom máme definíciu funkcie getValue(), kde získame hodnotu premennej „v“. Keďže funkcia getValue() je deklarovaná kľúčovým slovom „const“, čo znamená, že hodnotu premennej „v“ nemožno v žiadnom prípade aktualizovať. Zámerne sa však pokúšame zvýšiť premennú „v“, aby sme zmenili jej hodnotu. Keď program dosiahne túto fázu, zobrazí sa chyba. Nakoniec tu máme volanie funkcie main(), kde definujeme objekt „d“ triedy „Data“ a tomuto objektu „d“ nastavíme hodnotu „20“. Potom zavoláme funkciu getValue(), aby sme získali hodnotu „d“ objektu.

Výzva generuje výsledky predchádzajúcej implementácie, kde zobrazuje chybu na „++v“, pretože nie je dovolené upravovať hodnotu objektov členskej funkcie const:

Záver

Na záver sa ponoríme do funkcie const C++, ktorá sa používa na zabránenie náhodným zmenám v hodnote programu. Konštantné členské funkcie v C++ sú funkcie len na čítanie, ktorých modifikácia objektov, na ktorých je volaná, nie je povolená. Tiež sme implementovali rôzne scenáre funkcie const, aby sme demonštrovali jej funkčnosť v C++.