Exemple de funcție C++ Const

Exemple De Functie C Const



Acest articol se concentrează pe cuvântul cheie „const” care este utilizat cu funcția în C++. Cuvântul cheie „const” este denumit valoarea constantă pe care nu o putem modifica în timpul execuției programului. Funcțiile „const” din C++ sunt acele funcții ale căror membri de date sunt restricționați pentru a fi modificați în clasa lor. Funcțiile „cont” sunt utilizate eficient, deoarece pot evita modificări neașteptate ale valorii obiectului.

Exemplul 1: Programul unei funcții Const Member în C++

Aici, avem un program simplu al funcției de membru const:

#include
folosind spatiu de nume std ;
clasă Clasa mea {
int pe unu ;
public :
Clasa mea ( int n = 0 ) {
pe unu = n ;
}
int getValue ( ) const {
întoarcere pe unu ;
}
} ;
int principal ( ) {
const MyClass c ( 30 ) ;
MyClass c1 ( 5 ) ;
cout << „Numărul care folosește obiectul c :” << c. getValue ( ) ;
cout << ' \n Număr folosind obiectul c1 : ' << c1. getValue ( ) ;
întoarcere 0 ;
}

Inițial, definim fișierul antet care activează fluxurile de intrare/ieșire ale programului. Apoi, setăm clasa „MyClass” unde declarăm o variabilă „num” și funcțiile membre ale funcției MyClass() și ale funcției getVal(). În cadrul funcției MyClass(), setăm parametrul „n” cu valoarea „0”. Apoi, argumentul „n” este atribuit variabilei „num”. Apoi, apelăm funcția getVal() cu cuvântul cheie „const”, indicând faptul că starea prezentă a obiectului nu poate fi modificată la un apel de funcție. Funcția getVal() returnează variabila membru „num”.







În cele din urmă, ajungem la funcția main(). Aici definim obiectele „c” și „c1” ale funcției MyClass() și, de asemenea, transmitem valorile acestor obiecte. Obiectul „c” este setat cu cuvântul cheie „const”, indicând faptul că valoarea care este atribuită acestui obiect nu poate fi modificată.



Ieșirea funcției membru const care este apelată de obiect este prezentată în cele ce urmează. În acest fel, putem folosi cuvântul cheie „const” cu funcția membru și obiectul:







Exemplul 2: Programul unei funcții de membru Const în afara clasei în C++

Acum, avem o altă implementare în care funcția membru const este definită în afara unei definiții de clasă și setează și regăsește o valoare variabilă membru privat folosind o funcție membru const.

#include
folosind spatiu de nume std ;

clasă NewClass {
int i ;

public :
gol set_record ( int ) ;

int get_record ( ) const ;
} ;

gol NewClass :: set_record ( int X ) { i = X ; }
int NewClass :: get_record ( ) const { întoarcere i ; }

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

întoarcere 0 ;
}

Aici, stabilim mai întâi o clasă, „NewClass”, unde inițializam variabila „i”, care este păstrată privată. După aceea, avem un cuvânt cheie public în care sunt definite funcțiile membre set_record() și get_record(). Funcția membru set_record() este folosită pentru a seta valoarea variabilei „i”, iar funcția get_record() este folosită aici pentru a returna valoarea variabilei „i”. Rețineți că folosim cuvântul cheie „const” cu funcția membru get_record() care o reprezintă ca o funcție membru const, iar starea obiectului nu poate fi modificată. După aceea, avem o definiție a funcției set_record() pentru a seta valoarea variabilei „i”.



În mod similar, avem definiția funcției get_record() pentru a prelua valoarea variabilei „i”. Apoi, setăm funcția main() unde avem o declarație a obiectului „c” al clasei „NewClass”. Apoi, „set_record”, o funcție membru non-const, este apelată pentru a atribui o valoare variabilei „z”. Mergând mai departe, apelăm funcția membru const get_record() pentru a imprima valoarea lui „i”.

Valoarea variabilei membru privat este apelată de funcția membru const și este afișată în următorul prompt:

Exemplul 3: Programul unei funcții de membru Const definite în afara clasei ca o funcție independentă

Totuși, implementăm un alt caz al funcției membru const în care funcția membru cu cuvântul cheie „const” este numită în afara clasei ca funcție autonomă.

#include
folosind spatiu de nume std ;
clasă Ecuaţie {
int n1,n2 ;
public :
gol set_equation ( int X, int și )
{
n1 = X ;
n2 = și ;
}
gol show_equation ( )
{
cout << 'Ecuația este:' << n1 << „+” << n2 << 'b' << endl ;
}
prieten gol este distractiv ( const Ecuaţie ) ;
} ;
gol este distractiv ( const Ecuația obj )
{
cout << „Funcția folosind ecuația este:” << obj. n1 << „+” << obj. n2 << 'b' << endl ;
}
int principal ( )
{
Ecuația obj ;
obj. set_equation ( 5 , 8 ) ;
obj. show_equation ( ) ;
este distractiv ( obj ) ;
}

Aici, creăm clasa „Equation()” și apoi declarăm variabilele „n1” și „n2”. Aici, adăugăm și funcția membru set_Equation() pentru a seta valorile variabilelor „n1” și „n2”. Funcția show_Equation() arată ecuația care este generată folosind aceste variabile.

După aceasta, avem o declarație a funcției funIs() care este definită folosind cuvântul cheie „prieten”. Acest cuvânt cheie „prieten” ne permite să accesăm membrul privat al clasei „Ecuație”. Apoi, numim funcția prieten „funIs()” în afara clasei și introducem parametrul „obj” al clasei „Ecuație” ca const. În final, avem o funcție main() în care declarăm obiectul clasei „Ecuație”. Apoi, setăm valorile variabilelor „n1” și „n2” folosind funcția set_Equation(). Variabilele „n1” și „n2” sunt folosite pentru a-și afișa valorile folosind funcția show_Equation(). În cele din urmă, numim funcția prietenă „funIs” a clasei „Ecuație” pentru a afișa ecuația.

Ecuația și ecuația care utilizează funcția const friend sunt afișate pe prompt:

Exemplul 4: Programul unei funcții de membru Const pentru a actualiza valoarea în C++ (cel mai rău caz)

Programul demonstrează cel mai rău scenariu al funcției const membru în care încercăm să modificăm valoarea variabilei numită „în interiorul funcției const membru”.

#include
folosind spatiu de nume std ;

clasă Date {
int în ;

public :
gol setValue ( int i ) { în = i ; }
int getValue ( ) const
{

++ în ;
întoarcere în ;
}

} ;

int principal ( )
{
Date d ;
d. setValue ( douăzeci ) ;
cout << endl << d. getValue ( ) ;

întoarcere 0 ;
}

Aici, mai întâi construim clasa „Date” și declarăm variabila „v” în cadrul clasei. După aceasta, setăm cuvântul cheie „public” și apoi declarăm funcțiile membre ale clasei „setValue()” care reprezintă constructorul clasei și getValue() care indică funcția membru getter a clasei. Funcția setValue() ia variabila „i” ca parametru. Această variabilă „i” este atribuită variabilei membru „v”.

După aceasta, avem definiția funcției getValue() unde recuperăm valoarea variabilei „v”. Deoarece funcția getValue() este declarată cu cuvântul cheie „const”, reprezentând că valoarea variabilei „v” nu poate fi actualizată în niciun caz. Cu toate acestea, încercăm în mod intenționat să creștem variabila „v” pentru a-i schimba valoarea. Când programul ajunge la această etapă, este aruncată o eroare. În cele din urmă, avem apelul funcției main() în care definim obiectul „d” al clasei „Data” și setăm valoarea „20” pentru acest obiect „d”. După aceea, apelăm funcția getValue() pentru a obține valoarea „d” a obiectului.

Promptul generează rezultatele implementării anterioare unde dă o eroare pe „++v” deoarece nu avem voie să modificăm valoarea obiectelor funcției membre const:

Concluzie

În concluzie, ne aprofundăm în funcția const a C++, care este folosită pentru a evita modificări accidentale ale valorii programului. Funcțiile membre const din C++ sunt funcții numai în citire a căror modificare a obiectelor pe care este apelată nu este permisă. De asemenea, am implementat diverse scenarii ale funcției const pentru a demonstra funcționalitatea acesteia în C++.