Exempel på C++ Const-funktioner

Exempel Pa C Const Funktioner



Den här artikeln fokuserar på nyckelordet 'const' som används med funktionen i C++. Nyckelordet 'const' kallas det konstanta värdet som vi inte kan ändra under körningen av programmet. 'const'-funktionerna i C++ är de funktioner vars datamedlemmar är begränsade till att ändras i sin klass. 'forts'-funktionerna används effektivt eftersom de kan undvika oväntade ändringar av objektets värde.

Exempel 1: Program för en Const Member-funktion i C++

Här har vi ett enkelt program för const-medlemsfunktionen:

#inkludera
använder sig av namnutrymme std ;
klass Min klass {
int på ett ;
offentlig :
Min klass ( int n = 0 ) {
på ett = n ;
}
int getValue ( ) konst {
lämna tillbaka på ett ;
}
} ;
int huvud ( ) {
konst MyClass c ( 30 ) ;
MyClass c1 ( 5 ) ;
cout << 'Nummer använder objekt c : ' << c. getValue ( ) ;
cout << ' \n Nummer med objekt c1 : ' << c1. getValue ( ) ;
lämna tillbaka 0 ;
}

Inledningsvis definierar vi rubrikfilen som aktiverar programmets input/output-strömmar. Sedan ställer vi in ​​klassen 'MyClass' där vi deklarerar en 'num'-variabel och medlemsfunktionerna för MyClass()-funktionen och getVal()-funktionen. Inuti funktionen MyClass() ställer vi in ​​parametern 'n' med värdet '0'. Sedan tilldelas 'n'-argumentet variabeln 'num'. Därefter anropar vi funktionen getVal() med nyckelordet 'const', vilket indikerar att objektets nuvarande tillstånd inte kan ändras på ett funktionsanrop. Funktionen getVal() returnerar medlemsvariabeln 'num'.







Slutligen når vi ut till main()-funktionen. Här definierar vi 'c'- och 'c1'-objekten för MyClass()-funktionen och skickar även värdena till dessa objekt. 'c'-objektet ställs in med nyckelordet 'const', vilket indikerar att värdet som är tilldelat detta objekt inte kan ändras.



Utdata från const-medlemsfunktionen som anropas av objektet visas i det följande. På så sätt kan vi använda nyckelordet 'const' med medlemsfunktionen och objektet:







Exempel 2: Program för en Const Member-funktion utanför klassen i C++

Nu har vi en annan implementering där const-medlemsfunktionen definieras utanför en klassdefinition och ställer in och hämtar ett privat medlemsvariabelvärde med hjälp av en const-medlemsfunktion.

#include
använder sig av namnutrymme std ;

klass Nyklass {
int i ;

offentlig :
tomhet set_rekord ( int ) ;

int få_rekord ( ) konst ;
} ;

tomhet Nyklass :: set_rekord ( int x ) { i = x ; }
int Nyklass :: få_rekord ( ) konst { lämna tillbaka i ; }

int huvud ( )
{
Nyklass c ;
c. set_rekord ( 10 ) ;
cout << c. få_rekord ( ) ;

lämna tillbaka 0 ;
}

Här etablerar vi först en klass, 'NewClass', där vi initierar variabeln 'i' som hålls privat. Efter det har vi ett publikt nyckelord där medlemsfunktionerna set_record() och get_record() definieras. Medlemfunktionen set_record() används för att ställa in värdet på variabeln 'i' och funktionen get_record() används här för att returnera värdet för variabeln 'i'. Observera att vi använder nyckelordet 'const' med medlemsfunktionen get_record() som representerar det som en const-medlemsfunktion, och objekttillståndet kan inte ändras. Efter det har vi en set_record() funktionsdefinition för att ställa in variabelvärdet 'i'.



På liknande sätt har vi funktionsdefinitionen get_record() för att hämta variabelvärdet 'i'. Sedan ställer vi in ​​main()-funktionen där vi har en deklaration av 'c'-objektet i klassen 'NewClass'. Sedan anropas 'set_record', en icke-konst-medlemsfunktion, för att tilldela ett värde till variabeln 'z'. När vi går vidare anropar vi get_record() const-medlemsfunktionen för att skriva ut värdet på 'i'.

Värdet på den privata medlemsvariabeln anropas av const member-funktionen och visas i följande prompt:

Exempel 3: Program för en Const Member-funktion definierad utanför klassen som en oberoende funktion

Vi implementerar dock ett annat fall av const-medlemsfunktionen där medlemsfunktionen med nyckelordet 'const' anropas utanför klassen som en fristående funktion.

#include
använder sig av namnutrymme std ;
klass Ekvation {
int n1,n2 ;
offentlig :
tomhet set_equation ( int x, int och )
{
n1 = x ;
n2 = och ;
}
tomhet visa_ekvation ( )
{
cout << 'Ekvationen är:' << n1 << '+' << n2 << 'b' << endl ;
}
vän tomhet det är kul ( konst Ekvation ) ;
} ;
tomhet det är kul ( konst Ekvation obj )
{
cout << 'Den ekvationsanvändande funktionen är:' << obj. n1 << '+' << obj. n2 << 'b' << endl ;
}
int huvud ( )
{
Ekvation obj ;
obj. set_equation ( 5 , 8 ) ;
obj. visa_ekvation ( ) ;
det är kul ( obj ) ;
}

Här skapar vi klassen 'Equation()' och deklarerar sedan variablerna 'n1' och 'n2'. Här lägger vi också till medlemfunktionen set_Equation() för att ställa in värdena för variablerna 'n1' och 'n2'. Funktionen show_Equation() visar ekvationen som genereras med dessa variabler.

Efter detta har vi en funktionsdeklaration av funIs() som definieras med nyckelordet 'vän'. Detta nyckelord 'vän' ger oss tillgång till den privata medlemmen i klassen 'Ekvation'. Därefter anropar vi vänfunktionen 'funIs()' utanför klassen och matar in parametern 'obj' för klassen 'Equation' som const. I slutändan har vi en main() funktion där vi deklarerar objektet i klassen 'Equation'. Sedan ställer vi in ​​värdena för variablerna 'n1' och 'n2' med hjälp av funktionen set_Equation(). Variablerna 'n1' och 'n2' används för att visa deras värden med hjälp av funktionen show_Equation(). Till sist kallar vi vänfunktionen 'funIs' i klassen 'Equation' för att visa ekvationen.

Ekvationen och ekvationen som använder funktionen const friend visas på prompten:

Exempel 4: Program för en Const Member-funktion för att uppdatera värdet i C++ (värsta fall)

Programmet visar det värsta scenariot med const-medlemsfunktionen där vi försöker ändra värdet på variabeln som kallas 'inuti const-medlemsfunktionen'.

#include
använder sig av namnutrymme std ;

klass Data {
int i ;

offentlig :
tomhet satt värde ( int i ) { i = i ; }
int getValue ( ) konst
{

++ i ;
lämna tillbaka i ;
}

} ;

int huvud ( )
{
Data d ;
d. satt värde ( tjugo ) ;
cout << endl << d. getValue ( ) ;

lämna tillbaka 0 ;
}

Här konstruerar vi först klassen 'Data' och deklarerar variabeln 'v' inom klassen. Efter detta ställer vi in ​​nyckelordet 'public' och deklarerar sedan klassmedlemsfunktionerna för 'setValue()' som representerar konstruktorn för klassen och getValue() som indikerar klassens getter-medlemsfunktion. Funktionen setValue() tar variabeln 'i' som en parameter. Denna 'i'-variabel tilldelas medlemsvariabeln 'v'.

Efter detta har vi funktionsdefinitionen getValue() där vi hämtar värdet på variabeln 'v'. Eftersom funktionen getValue() deklareras med nyckelordet 'const', vilket representerar att värdet på variabeln 'v' inte kan uppdateras i alla fall. Vi försöker dock avsiktligt öka variabeln 'v' för att ändra dess värde. När programmet når detta stadium visas ett fel. Slutligen har vi funktionsanropet main() där vi definierar 'd'-objektet i klassen 'Data' och ställer in värdet på '20' för detta 'd'-objekt. Efter det anropar vi funktionen getValue() för att få objektets 'd'-värde.

Prompten genererar resultaten från den tidigare implementeringen där den ger ett fel på '++v' eftersom vi inte får ändra värdet på const-medlemsfunktionsobjekten:

Slutsats

Sammanfattningsvis dyker vi in ​​i const-funktionen i C++ som används för att undvika oavsiktliga förändringar i programmets värde. Const-medlemsfunktionerna i C++ är skrivskyddade funktioner vars modifiering av objekten som den anropas inte är tillåten. Vi implementerade också olika scenarier av const-funktionen för att demonstrera dess funktionalitet i C++.