Примери за C++ Const функция

Primeri Za C Const Funkcia



Тази статия се фокусира върху ключовата дума „const“, която се използва с функцията в C++. Ключовата дума „const“ се нарича постоянна стойност, която не можем да променяме по време на изпълнение на програмата. Функциите „const“ в C++ са тези функции, чиито членове на данни са ограничени да бъдат променяни в техния клас. Функциите „cont“ се използват ефективно, тъй като могат да избегнат неочаквани модификации на стойността на обекта.

Пример 1: Програма на постоянна член-функция в C++

Тук имаме проста програма на член-функцията const:

#include
използвайки пространство от имена std ;
клас Моят клас {
вътр никой ;
публичен :
Моят клас ( вътр н = 0 ) {
никой = н ;
}
вътр getValue ( ) конст {
връщане никой ;
}
} ;
вътр основен ( ) {
конст MyClass c ( 30 ) ;
MyClass c1 ( 5 ) ;
cout << 'Число с помощта на обект c:' << ° С. getValue ( ) ;
cout << ' Число, използващо обект c1: ' << c1. getValue ( ) ;
връщане 0 ;
}

Първоначално дефинираме заглавния файл, който позволява входно/изходните потоци на програмата. След това задаваме класа „MyClass“, където декларираме променлива „num“ и функциите-членове на функцията MyClass() и функцията getVal(). Във функцията MyClass() задаваме параметъра „n“ със стойност „0“. След това аргументът 'n' се присвоява на променливата 'num'. След това извикваме функцията getVal() с ключовата дума „const“, което показва, че настоящото състояние на обекта не може да бъде променено при извикване на функция. Функцията getVal() връща членската променлива „num“.







И накрая, достигаме до функцията main(). Тук дефинираме обектите „c“ и „c1“ на функцията MyClass() и също предаваме стойностите на тези обекти. Обектът 'c' е зададен с ключовата дума 'const', което показва, че стойността, която е присвоена на този обект, не може да бъде променена.



Резултатът от член-функцията const, която се извиква от обекта, е показан по-долу. По този начин можем да използваме ключовата дума „const“ с функцията член и обекта:







Пример 2: Програма на постоянна член-функция извън класа в C++

Сега имаме друга реализация, при която функцията const член е дефинирана извън дефиниция на клас и задаваме и извличаме стойност на променлива частен член, използвайки функция член const.

#include
използвайки пространство от имена std ;

клас Нов клас {
вътр i ;

публичен :
невалиден set_record ( вътр ) ;

вътр get_record ( ) конст ;
} ;

невалиден Нов клас :: set_record ( вътр х ) { i = х ; }
вътр Нов клас :: get_record ( ) конст { връщане i ; }

вътр основен ( )
{
Нов клас c ;
° С. set_record ( 10 ) ;
cout << ° С. get_record ( ) ;

връщане 0 ;
}

Тук първо създаваме клас, 'NewClass', където инициализираме променливата 'i', която се запазва частна. След това имаме публична ключова дума, където са дефинирани член функциите set_record() и get_record(). Членската функция set_record() се използва за задаване на стойността на променливата „i“, а функцията get_record() се използва тук, за да върне стойността на променливата „i“. Обърнете внимание, че използваме ключовата дума „const“ с функцията член get_record(), която я представя като функция член const, и състоянието на обекта не може да бъде променено. След това имаме дефиниция на функция set_record(), за да зададем стойността на променливата „i“.



По подобен начин имаме дефиницията на функцията get_record() за извличане на стойността на променливата „i“. След това задаваме функцията main(), където имаме декларация на обекта „c“ на класа „NewClass“. След това се извиква „set_record“, неконстантна функция член, за да присвои стойност на променливата „z“. Продължавайки напред, извикваме функцията get_record() const член, за да отпечатаме стойността на „i“.

Стойността на променливата частен член се извиква от функцията член const и се показва в следния ред:

Пример 3: Програма на постоянна член-функция, дефинирана извън класа като независима функция

Ние обаче прилагаме друг случай на функцията-член const, където функцията-член с ключовата дума „const“ се извиква извън класа като самостоятелна функция.

#include
използвайки пространство от имена std ;
клас Уравнение {
вътр n1,n2 ;
публичен :
невалиден набор_уравнение ( вътр х, вътр и )
{
n1 = х ;
n2 = и ;
}
невалиден покажи_уравнение ( )
{
cout << „Уравнението е:“ << n1 << '+' << n2 << 'б' << endl ;
}
приятел невалиден забавно е ( конст Уравнение ) ;
} ;
невалиден забавно е ( конст Уравнение obj )
{
cout << 'Функцията, използваща уравнението, е: ' << обект n1 << '+' << обект n2 << 'б' << endl ;
}
вътр основен ( )
{
Уравнение obj ;
обект набор_уравнение ( 5 , 8 ) ;
обект покажи_уравнение ( ) ;
забавно е ( обект ) ;
}

Тук създаваме класа „Equation()“ и след това декларираме променливите „n1“ и „n2“. Тук също добавяме функцията член set_Equation(), за да зададем стойностите на променливите „n1“ и „n2“. Функцията show_Equation() показва уравнението, което се генерира с помощта на тези променливи.

След това имаме декларация на функция на funIs(), която се дефинира с помощта на ключовата дума „friend“. Тази ключова дума „приятел“ ни позволява достъп до частния член на класа „Equation“. След това извикваме приятелската функция “funIs()” извън класа и въвеждаме параметъра “obj” на класа “Equation” като const. В крайна сметка имаме функция main(), където декларираме обекта от класа “Equation”. След това задаваме стойностите на променливите „n1“ и „n2“, като използваме функцията set_Equation(). Променливите „n1“ и „n2“ се използват за показване на техните стойности с помощта на функцията show_Equation(). И накрая, извикваме приятелската функция “funIs” на класа “Equation”, за да покажем уравнението.

Уравнението и уравнението, използващо функцията const friend, се показват в подканата:

Пример 4: Програма на членна функция Const за актуализиране на стойността в C++ (най-лошият случай)

Програмата демонстрира най-лошия сценарий на член-функцията const, където се опитваме да променим стойността на променливата, наречена „вътре в член-функцията const“.

#include
използвайки пространство от имена std ;

клас Данни {
вътр в ;

публичен :
невалиден setValue ( вътр i ) { в = i ; }
вътр getValue ( ) конст
{

++ в ;
връщане в ;
}

} ;

вътр основен ( )
{
Данни d ;
д. setValue ( двадесет ) ;
cout << endl << д. getValue ( ) ;

връщане 0 ;
}

Тук първо конструираме класа „Данни“ и декларираме променливата „v“ в класа. След това задаваме ключовата дума „public“ и след това декларираме функциите член на класа на „setValue()“, който представлява конструктора на класа и getValue(), който показва членската функция getter на класа. Функцията setValue() приема променливата 'i' като параметър. Тази променлива „i“ се присвоява на членската променлива „v“.

След това имаме дефиницията на функцията getValue(), където извличаме стойността на променливата „v“. Тъй като функцията getValue() е декларирана с ключовата дума „const“, което означава, че стойността на променливата „v“ не може да бъде актуализирана в никакъв случай. Ние обаче умишлено се опитваме да увеличим променливата „v“, за да променим нейната стойност. Когато програмата достигне този етап, се извежда грешка. И накрая, имаме извикването на функцията main(), където дефинираме обекта „d“ от класа „Данни“ и задаваме стойност „20“ за този обект „d“. След това извикваме функцията getValue(), за да получим стойността „d“ на обекта.

Подканата генерира резултатите от предишната реализация, където дава грешка на „++v“, тъй като не ни е позволено да променяме стойността на обектите на функция член const:

Заключение

В заключение се потапяме в функцията const на C++, която се използва за избягване на случайни промени в стойността на програмата. Функциите-членове const в C++ са функции само за четене, чиято модификация на обектите, на които се извиква, не е разрешена. Ние също внедрихме различни сценарии на функцията const, за да демонстрираме нейната функционалност в C++.