C++ Const funkciju piemēri

C Const Funkciju Piemeri



Šajā rakstā uzmanība tiek pievērsta atslēgvārdam “const”, kas tiek izmantots kopā ar funkciju C++. Atslēgvārds “const” tiek saukts par nemainīgu vērtību, kuru mēs nevaram mainīt programmas izpildes laikā. Funkcijas “const” programmā C++ ir tās funkcijas, kuru datu elementus var mainīt savā klasē. Funkcijas “Cont” tiek izmantotas efektīvi, jo tās var izvairīties no neparedzētām objekta vērtības izmaiņām.

1. piemērs: Const locekļa funkcijas programma C++ valodā

Šeit mums ir vienkārša const dalībnieka funkcijas programma:

#include
izmantojot nosaukumvieta std ;
klasē Mana klase {
starpt uz viena ;
publiski :
Mana klase ( starpt n = 0 ) {
uz viena = n ;
}
starpt getValue ( ) konst {
atgriezties uz viena ;
}
} ;
starpt galvenais ( ) {
konst MyClass c ( 30 ) ;
MyClass c1 ( 5 ) ;
cout << 'Numurs, izmantojot objektu c :' << c. getValue ( ) ;
cout << ' \n Numurs, izmantojot objektu c1 : ' << c1. getValue ( ) ;
atgriezties 0 ;
}

Sākotnēji mēs definējam galvenes failu, kas iespējo programmas ievades/izvades straumes. Pēc tam mēs iestatām klasi “MyClass”, kurā deklarējam “num” mainīgo un funkcijas MyClass () un getVal () funkcijas. Funkcijā MyClass () mēs iestatām parametru “n” ar vērtību “0”. Pēc tam mainīgajam “num” tiek piešķirts arguments “n”. Tālāk mēs izsaucam funkciju getVal () ar atslēgvārdu “const”, norādot, ka objekta pašreizējo stāvokli nevar mainīt funkcijas izsaukumā. Funkcija getVal() atgriež dalībnieku mainīgo “num”.







Visbeidzot, mēs sasniedzam galveno () funkciju. Šeit mēs definējam funkcijas MyClass () objektus “c” un “c1”, kā arī nododam vērtības šiem objektiem. Objekts “c” ir iestatīts ar atslēgvārdu “const”, kas norāda, ka šim objektam piešķirto vērtību nevar mainīt.



Tālāk ir parādīta objekta izsauktās funkcijas const locekļa izvade. Tādā veidā mēs varam izmantot atslēgvārdu “const” ar dalībnieka funkciju un objektu:







2. piemērs: Const locekļa funkcijas programma ārpus klases C++ valodā

Tagad mums ir vēl viena implementācija, kurā const locekļa funkcija ir definēta ārpus klases definīcijas un iestata un izgūst privātā dalībnieka mainīgā vērtību, izmantojot const locekļa funkciju.

#include
izmantojot nosaukumvieta std ;

klasē Jaunā klase {
starpt i ;

publiski :
nederīgs set_record ( starpt ) ;

starpt get_record ( ) konst ;
} ;

nederīgs Jaunā klase :: set_record ( starpt x ) { i = x ; }
starpt Jaunā klase :: get_record ( ) konst { atgriezties i ; }

starpt galvenais ( )
{
Jaunā klase c ;
c. set_record ( 10 ) ;
cout << c. get_record ( ) ;

atgriezties 0 ;
}

Šeit mēs vispirms izveidojam klasi “NewClass”, kurā inicializējam “i” mainīgo, kas tiek saglabāts privāts. Pēc tam mums ir publisks atslēgvārds, kurā ir definētas set_record() un get_record() dalībnieku funkcijas. Funkciju set_record() izmanto, lai iestatītu mainīgā “i” vērtību, un funkcija get_record() šeit tiek izmantota, lai atgrieztu mainīgā “i” vērtību. Ņemiet vērā, ka mēs izmantojam atslēgvārdu “const” ar dalībnieka funkciju get_record(), kas to attēlo kā const dalībnieka funkciju, un objekta stāvokli nevar mainīt. Pēc tam mums ir funkcijas set_record() definīcija, lai iestatītu “i” mainīgā vērtību.



Tāpat mums ir funkcijas get_record() definīcija, lai izgūtu “i” mainīgā vērtību. Pēc tam mēs iestatām galveno () funkciju, kur mums ir “NewClass” klases objekta “c” deklarācija. Pēc tam tiek izsaukta funkcija “set_record”, kas nav konstanta dalībnieka funkcija, lai mainīgajam “z” piešķirtu vērtību. Turpinot, mēs izsaucam get_record() const dalībnieka funkciju, lai izdrukātu “i” vērtību.

Privātā dalībnieka mainīgā vērtību izsauc funkcija const member, un tā tiek parādīta šādā uzvednē:

3. piemērs: Const locekļa funkcijas programma, kas definēta ārpus klases kā neatkarīga funkcija

Tomēr mēs ieviešam citu const locekļa funkcijas gadījumu, kad dalībnieka funkcija ar atslēgvārdu “const” tiek izsaukta ārpus klases kā atsevišķa funkcija.

#include
izmantojot nosaukumvieta std ;
klasē Vienādojums {
starpt n1, n2 ;
publiski :
nederīgs kopas_vienādojums ( starpt x, starpt un )
{
n1 = x ;
n2 = un ;
}
nederīgs parādīt_vienādojumu ( )
{
cout << 'Vienādojums ir:' << n1 << '+' << n2 << 'b' << endl ;
}
draugs nederīgs tas ir jautri ( konst Vienādojums ) ;
} ;
nederīgs tas ir jautri ( konst Vienādojums obj )
{
cout << 'Funkcija, kas izmanto vienādojumu, ir: << obj. n1 << '+' << obj. n2 << 'b' << endl ;
}
starpt galvenais ( )
{
Vienādojums obj ;
obj. kopas_vienādojums ( 5 , 8 ) ;
obj. parādīt_vienādojumu ( ) ;
tas ir jautri ( obj ) ;
}

Šeit mēs izveidojam klasi “Equation()” un pēc tam deklarējam “n1” un “n2” mainīgos. Šeit mēs pievienojam arī funkciju set_Equation() locekļa funkciju, lai iestatītu mainīgo “n1” un “n2” vērtības. Funkcija show_Equation() parāda vienādojumu, kas tiek ģenerēts, izmantojot šos mainīgos.

Pēc tam mums ir funIs() funkcijas deklarācija, kas tiek definēta, izmantojot atslēgvārdu “draugs”. Šis atslēgvārds “draugs” ļauj mums piekļūt klases “Equation” privātajam dalībniekam. Tālāk mēs izsaucam draugu funkciju “funIs()” ārpus klases un ievadām klases “Equation” parametru “obj” kā const. Galu galā mums ir galvenā () funkcija, kurā mēs deklarējam klases “Vienādojums” objektu. Pēc tam mēs iestatām mainīgo “n1” un “n2” vērtības, izmantojot funkciju set_Equation(). Mainīgos “n1” un “n2” izmanto, lai parādītu to vērtības, izmantojot funkciju show_Equation(). Visbeidzot, mēs izsaucam klases “Equation” draugu funkciju “funIs”, lai parādītu vienādojumu.

Uzvednē tiek parādīts vienādojums un vienādojums, izmantojot funkciju const draugs:

4. piemērs: Const locekļa funkcijas programma, lai atjauninātu vērtību C++ valodā (sliktākajā gadījumā)

Programma parāda sliktāko const locekļa funkcijas scenāriju, kurā mēs cenšamies modificēt mainīgā vērtību, ko sauc par “const locekļa funkcijas iekšpusē”.

#include
izmantojot nosaukumvieta std ;

klasē Dati {
starpt iekšā ;

publiski :
nederīgs setValue ( starpt i ) { iekšā = i ; }
starpt getValue ( ) konst
{

++ iekšā ;
atgriezties iekšā ;
}

} ;

starpt galvenais ( )
{
Dati d ;
d. setValue ( divdesmit ) ;
cout << endl << d. getValue ( ) ;

atgriezties 0 ;
}

Šeit mēs vispirms izveidojam klasi “Dati” un klasē deklarējam mainīgo “v”. Pēc tam mēs iestatām atslēgvārdu “publisks” un pēc tam deklarējam klases locekļu funkcijas “setValue()”, kas apzīmē klases konstruktoru, un getValue (), kas norāda klases getValue locekļa funkciju. Funkcija setValue() izmanto mainīgo “i” kā parametru. Šis “i” mainīgais tiek piešķirts “v” biedra mainīgajam.

Pēc tam mums ir funkcijas getValue () definīcija, kurā mēs izgūstam mainīgā “v” vērtību. Tā kā funkcija getValue() tiek deklarēta ar atslēgvārdu “const”, tas nozīmē, ka mainīgā “v” vērtību nekādā gadījumā nevar atjaunināt. Tomēr mēs apzināti mēģinām palielināt mainīgo “v”, lai mainītu tā vērtību. Kad programma sasniedz šo posmu, tiek parādīta kļūda. Visbeidzot, mums ir galvenā () funkcijas izsaukums, kurā mēs definējam klases “Data” objektu “d” un šim “d” objektam iestatām vērtību “20”. Pēc tam mēs izsaucam funkciju getValue (), lai iegūtu objekta “d” vērtību.

Uzvedne ģenerē iepriekšējās ieviešanas rezultātus, kur tiek parādīta kļūda “++v”, jo mums nav atļauts modificēt const locekļu funkcijas objektu vērtību:

Secinājums

Noslēgumā mēs iedziļināmies C++ funkcijā const, ko izmanto, lai izvairītos no nejaušām programmas vērtības izmaiņām. Const locekļu funkcijas programmā C++ ir tikai lasāmas funkcijas, kurām nav atļauts modificēt objektus, uz kuriem tā tiek izsaukta. Mēs arī ieviesām dažādus const funkcijas scenārijus, lai demonstrētu tās funkcionalitāti C++.