Primeri funkcij C++ Const

Primeri Funkcij C Const



Ta članek se osredotoča na ključno besedo »const«, ki se uporablja s funkcijo v C++. Ključna beseda »const« se imenuje konstantna vrednost, ki je ne moremo spreminjati med izvajanjem programa. Funkcije »const« v C++ so tiste funkcije, katerih podatkovni člani so omejeni na spreminjanje v svojem razredu. Funkcije »cont« se učinkovito uporabljajo, saj se lahko izognejo nepričakovanim spremembam vrednosti predmeta.

Primer 1: Program funkcije Const Member v C++

Tukaj imamo preprost program funkcije člana const:

#include
uporabo imenski prostor std ;
razred Moj razred {
int na enem ;
javnosti :
Moj razred ( int n = 0 ) {
na enem = n ;
}
int getValue ( ) konst {
vrnitev na enem ;
}
} ;
int glavni ( ) {
konst Moj razred c ( 30 ) ;
Moj razred c1 ( 5 ) ;
cout << 'Številka z uporabo predmeta c:' << c. getValue ( ) ;
cout << ' \n Število z uporabo predmeta c1: ' << c1. getValue ( ) ;
vrnitev 0 ;
}

Na začetku definiramo datoteko glave, ki omogoča vhodno/izhodne tokove programa. Nato nastavimo razred »MyClass«, kjer deklariramo spremenljivko »num« in funkcije članice funkcije MyClass() in funkcije getVal(). Znotraj funkcije MyClass() nastavimo parameter “n” z vrednostjo “0”. Nato je argument 'n' dodeljen spremenljivki 'num'. Nato pokličemo funkcijo getVal() s ključno besedo »const«, ki nakazuje, da trenutnega stanja objekta ni mogoče spremeniti pri klicu funkcije. Funkcija getVal() vrne spremenljivko člana »num«.







Nazadnje pridemo do funkcije main(). Tukaj definiramo objekta »c« in »c1« funkcije MyClass() in posredujemo vrednosti tem objektom. Objekt »c« je nastavljen s ključno besedo »const«, kar pomeni, da vrednosti, ki je dodeljena temu objektu, ni mogoče spremeniti.



Izhod funkcije člana const, ki jo kliče objekt, je prikazan spodaj. Na ta način lahko uporabimo ključno besedo »const« s funkcijo član in objektom:







Primer 2: Program funkcije člana Const zunaj razreda v C++

Zdaj imamo drugo izvedbo, kjer je funkcija člana const definirana zunaj definicije razreda in nastavi in ​​pridobi vrednost spremenljivke zasebnega člana z uporabo funkcije člana const.

#include
uporabo imenski prostor std ;

razred NewClass {
int jaz ;

javnosti :
praznina set_record ( int ) ;

int get_record ( ) konst ;
} ;

praznina NewClass :: set_record ( int x ) { jaz = x ; }
int NewClass :: get_record ( ) konst { vrnitev jaz ; }

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

vrnitev 0 ;
}

Tukaj najprej vzpostavimo razred, »NewClass«, kjer inicializiramo spremenljivko »i«, ki ostane zasebna. Po tem imamo javno ključno besedo, kjer sta definirani funkciji člana set_record() in get_record(). Članska funkcija set_record() se uporablja za nastavitev vrednosti spremenljivke »i«, funkcija get_record() pa se tukaj uporablja za vrnitev vrednosti spremenljivke »i«. Upoštevajte, da uporabljamo ključno besedo »const« s funkcijo člana get_record(), ki jo predstavlja kot funkcijo člana const, in stanja objekta ni mogoče spremeniti. Po tem imamo definicijo funkcije set_record() za nastavitev vrednosti spremenljivke »i«.



Podobno imamo definicijo funkcije get_record() za pridobitev vrednosti spremenljivke »i«. Nato nastavimo funkcijo main(), kjer imamo deklaracijo predmeta 'c' razreda 'NewClass'. Nato se pokliče »set_record«, nekonstantna funkcija člana, da dodeli vrednost spremenljivki »z«. Če nadaljujemo, pokličemo funkcijo get_record() const const, da natisnemo vrednost 'i'.

Vrednost spremenljivke zasebnega člana pokliče funkcija člana const in je prikazana v naslednjem pozivu:

Primer 3: Program funkcije člana Const, definirane zunaj razreda kot neodvisna funkcija

Vendar implementiramo še en primer funkcije člana const, kjer je funkcija člana s ključno besedo »const« poklicana zunaj razreda kot samostojna funkcija.

#include
uporabo imenski prostor std ;
razred Enačba {
int n1,n2 ;
javnosti :
praznina set_equation ( int x, int in )
{
n1 = x ;
n2 = in ;
}
praznina pokaži_enačbo ( )
{
cout << 'Enačba je:' << n1 << '+' << n2 << 'b' << konec ;
}
prijatelj praznina zabavno je ( konst Enačba ) ;
} ;
praznina zabavno je ( konst Enačba obj )
{
cout << 'Funkcija, ki uporablja enačbo, je: ' << obj. n1 << '+' << obj. n2 << 'b' << konec ;
}
int glavni ( )
{
Enačba obj ;
obj. set_equation ( 5 , 8 ) ;
obj. pokaži_enačbo ( ) ;
zabavno je ( obj ) ;
}

Tukaj ustvarimo razred 'Equation()' in nato deklariramo spremenljivki 'n1' in 'n2'. Tukaj dodamo tudi funkcijo člana set_Equation() za nastavitev vrednosti spremenljivk »n1« in »n2«. Funkcija show_Equation() prikazuje enačbo, ki je ustvarjena z uporabo teh spremenljivk.

Po tem imamo deklaracijo funkcije funIs(), ki je definirana s ključno besedo »prijatelj«. Ta ključna beseda »prijatelj« nam omogoča dostop do zasebnega člana razreda »Equation«. Nato pokličemo prijateljsko funkcijo »funIs()« zunaj razreda in vnesemo parameter »obj« razreda »Equation« kot const. Na koncu imamo funkcijo main(), kjer deklariramo objekt razreda 'Equation'. Nato s funkcijo set_Equation() nastavimo vrednosti spremenljivk »n1« in »n2«. Spremenljivki »n1« in »n2« se uporabljata za prikaz svojih vrednosti s funkcijo show_Equation(). Nazadnje pokličemo prijateljsko funkcijo »funIs« razreda »Equation« za prikaz enačbe.

Enačba in enačba, ki uporablja funkcijo const friend, sta prikazani v pozivu:

Primer 4: Program funkcije člana Const za posodobitev vrednosti v C++ (najslabši primer)

Program prikazuje najslabši scenarij funkcije člana const, kjer poskušamo spremeniti vrednost spremenljivke, imenovane 'znotraj funkcije člana const'.

#include
uporabo imenski prostor std ;

razred podatki {
int v ;

javnosti :
praznina setValue ( int jaz ) { v = jaz ; }
int getValue ( ) konst
{

++ v ;
vrnitev v ;
}

} ;

int glavni ( )
{
Podatki d ;
d. setValue ( dvajset ) ;
cout << konec << d. getValue ( ) ;

vrnitev 0 ;
}

Tukaj najprej izdelamo razred »Data« in znotraj razreda deklariramo spremenljivko »v«. Po tem nastavimo ključno besedo »public« in nato deklariramo funkcije člana razreda »setValue()«, ki predstavlja konstruktor razreda, in getValue(), ki označuje funkcijo člana razreda getter. Funkcija setValue() sprejme spremenljivko 'i' kot parameter. Ta spremenljivka »i« je dodeljena spremenljivki člana »v«.

Po tem imamo definicijo funkcije getValue(), kjer pridobimo vrednost spremenljivke »v«. Ker je funkcija getValue() deklarirana s ključno besedo »const«, kar pomeni, da vrednosti spremenljivke »v« v nobenem primeru ni mogoče posodobiti. Vendar namerno poskušamo povečati spremenljivko »v«, da bi spremenili njeno vrednost. Ko program doseže to stopnjo, se prikaže napaka. Nazadnje imamo klic funkcije main(), kjer definiramo objekt 'd' razreda 'Data' in nastavimo vrednost '20' za ta objekt 'd'. Po tem pokličemo funkcijo getValue(), da pridobimo vrednost »d« predmeta.

Poziv generira rezultate prejšnje izvedbe, kjer izda napako na »++v«, ker nam ni dovoljeno spreminjati vrednosti objektov funkcije člana const:

Zaključek

Na koncu se poglobimo v funkcijo const C++, ki se uporablja za preprečevanje nenamernih sprememb vrednosti programa. Konstantne članske funkcije v C++ so funkcije samo za branje, katerih spreminjanje predmetov, na katerih so klicane, ni dovoljeno. Implementirali smo tudi različne scenarije funkcije const, da bi prikazali njeno funkcionalnost v C++.