Przykłady funkcji stałych C++

Przyklady Funkcji Stalych C



W tym artykule skupiono się na słowie kluczowym „const”, które jest używane z funkcją w języku C++. Słowo kluczowe „const” określa się jako stałą wartość, której nie możemy modyfikować podczas wykonywania programu. Funkcje „const” w C++ to te funkcje, których składowe danych w swojej klasie podlegają ograniczeniom. Funkcje „cont” są efektywnie wykorzystywane, ponieważ pozwalają uniknąć nieoczekiwanych modyfikacji wartości obiektu.

Przykład 1: Program funkcji składowej stałej w C++

Tutaj mamy prosty program funkcji const:

#include
za pomocą przestrzeń nazw st ;
klasa Moja klasa {
wew na jednego ;
publiczny :
Moja klasa ( wew N = 0 ) {
na jednego = N ;
}
wew uzyskaćWartość ( ) konst {
powrót na jednego ;
}
} ;
wew główny ( ) {
konst MojaKlasa c ( 30 ) ;
MojaKlasa c1 ( 5 ) ;
cout << „Numer wykorzystujący obiekt c:” << C. uzyskaćWartość ( ) ;
cout << ' \N Numer wykorzystujący obiekt c1: ' << c1. uzyskaćWartość ( ) ;
powrót 0 ;
}

Początkowo definiujemy plik nagłówkowy, który umożliwia strumienie wejścia/wyjścia programu. Następnie ustawiamy klasę „MyClass”, w której deklarujemy zmienną „num” oraz funkcje składowe funkcji MyClass() i funkcji getVal(). Wewnątrz funkcji MyClass() ustawiamy parametr „n” na wartość „0”. Następnie argument „n” jest przypisywany do zmiennej „num”. Następnie wywołujemy funkcję getVal() ze słowem kluczowym „const”, wskazując, że bieżący stan obiektu nie może być modyfikowany podczas wywołania funkcji. Funkcja getVal() zwraca zmienną składową „num”.







Na koniec sięgamy do funkcji main(). Tutaj definiujemy obiekty „c” i „c1” funkcji MyClass(), a także przekazujemy wartości do tych obiektów. Obiekt „c” jest ustawiany za pomocą słowa kluczowego „const”, co oznacza, że ​​wartość przypisana do tego obiektu nie może być modyfikowana.



Poniżej przedstawiono dane wyjściowe funkcji const, wywoływanej przez obiekt. W ten sposób możemy użyć słowa kluczowego „const” z funkcją składową i obiektem:







Przykład 2: Program funkcji składowej stałej poza klasą w C++

Teraz mamy inną implementację, w której funkcja const Member jest zdefiniowana poza definicją klasy oraz ustawia i pobiera wartość prywatnej zmiennej członkowskiej za pomocą funkcji const Member.

#include
za pomocą przestrzeń nazw st ;

klasa NowaKlasa {
wew I ;

publiczny :
próżnia set_rekord ( wew ) ;

wew get_record ( ) konst ;
} ;

próżnia NowaKlasa :: set_rekord ( wew X ) { I = X ; }
wew NowaKlasa :: get_record ( ) konst { powrót I ; }

wew główny ( )
{
NowaKlasa c ;
C. set_rekord ( 10 ) ;
cout << C. get_record ( ) ;

powrót 0 ;
}

Tutaj najpierw ustanawiamy klasę „NewClass”, w której inicjujemy zmienną „i”, która jest prywatna. Następnie mamy słowo kluczowe public, w którym zdefiniowane są funkcje członkowskie set_record() i get_record(). Funkcja składowa set_record() służy do ustawiania wartości zmiennej „i”, a funkcja get_record() służy tutaj do zwracania wartości zmiennej „i”. Należy zauważyć, że słowa kluczowego „const” używamy z funkcją członkowską get_record(), która reprezentuje ją jako funkcję składową const, a stanu obiektu nie można modyfikować. Następnie mamy definicję funkcji set_record(), która ustawia wartość zmiennej „i”.



Podobnie mamy definicję funkcji get_record(), która pobiera wartość zmiennej „i”. Następnie ustawiamy funkcję main(), w której mamy deklarację obiektu „c” klasy „NewClass”. Następnie wywoływana jest funkcja „set_record”, która nie jest stałą, w celu przypisania wartości do zmiennej „z”. Idąc dalej, wywołujemy funkcję członkowską get_record() const, aby wydrukować wartość „i”.

Wartość zmiennej elementu prywatnego jest wywoływana przez funkcję składową const i jest pokazywana w następującym wierszu zachęty:

Przykład 3: Program funkcji składowej stałej zdefiniowanej poza klasą jako funkcja niezależna

Jednakże implementujemy inny przypadek funkcji składowej const, w którym funkcja składowa ze słowem kluczowym „const” jest wywoływana poza klasą jako funkcja samodzielna.

#include
za pomocą przestrzeń nazw st ;
klasa Równanie {
wew n1, n2 ;
publiczny :
próżnia równanie_zestawu ( wew X, wew I )
{
n1 = X ;
n2 = I ;
}
próżnia pokaż_równanie ( )
{
cout << „Równanie brzmi:” << n1 << „+” << n2 << 'B' << koniec ;
}
przyjaciel próżnia to świetna zabawa ( konst Równanie ) ;
} ;
próżnia to świetna zabawa ( konst Równanie obj )
{
cout << „Funkcja wykorzystująca równanie to: „ << obj. n1 << „+” << obj. n2 << 'B' << koniec ;
}
wew główny ( )
{
Równanie obj ;
obj. równanie_zestawu ( 5 , 8 ) ;
obj. pokaż_równanie ( ) ;
to świetna zabawa ( obj ) ;
}

Tutaj tworzymy klasę „Equation()”, a następnie deklarujemy zmienne „n1” i „n2”. W tym miejscu dodajemy także funkcję składową set_Equation(), aby ustawić wartości zmiennych „n1” i „n2”. Funkcja show_Equation() pokazuje równanie wygenerowane przy użyciu tych zmiennych.

Następnie mamy deklarację funkcji funIs(), która jest definiowana za pomocą słowa kluczowego „friend”. To słowo kluczowe „friend” umożliwia nam dostęp do prywatnego elementu klasy „Equation”. Następnie wywołujemy funkcję zaprzyjaźnioną „funIs()” poza klasą i wprowadzamy parametr „obj” klasy „Equation” jako stałą. Na koniec mamy funkcję main(), w której deklarujemy obiekt klasy „Równanie”. Następnie ustawiamy wartości zmiennych „n1” i „n2” za pomocą funkcji set_Equation(). Zmienne „n1” i „n2” służą do wyświetlania ich wartości za pomocą funkcji show_Equation(). Na koniec wywołujemy funkcję zaprzyjaźnioną „funIs” klasy „Equation”, aby wyświetlić równanie.

Równanie i równanie korzystające z funkcji const Friend zostaną wyświetlone w wierszu zachęty:

Przykład 4: Program funkcji składowej stałej w celu aktualizacji wartości w C++ (najgorszy przypadek)

Program demonstruje najgorszy scenariusz funkcji składowej const, w którym próbujemy zmodyfikować wartość zmiennej zwanej „wewnątrz funkcji składowej const”.

#include
za pomocą przestrzeń nazw st ;

klasa Dane {
wew W ;

publiczny :
próżnia ustalić wartość ( wew I ) { W = I ; }
wew uzyskaćWartość ( ) konst
{

++ W ;
powrót W ;
}

} ;

wew główny ( )
{
Dane D ;
D. ustalić wartość ( 20 ) ;
cout << koniec << D. uzyskaćWartość ( ) ;

powrót 0 ;
}

Tutaj najpierw konstruujemy klasę „Data” i deklarujemy zmienną „v” w klasie. Następnie ustawiamy słowo kluczowe „public”, a następnie deklarujemy funkcje członkowskie klasy „setValue()”, które reprezentują konstruktora klasy, oraz getValue(), które wskazują funkcję członkowską gettera klasy. Funkcja setValue() przyjmuje zmienną „i” jako parametr. Ta zmienna „i” jest przypisana do zmiennej składowej „v”.

Następnie mamy definicję funkcji getValue(), w której pobieramy wartość zmiennej „v”. Ponieważ funkcja getValue() jest zadeklarowana za pomocą słowa kluczowego „const”, co oznacza, że ​​wartość zmiennej „v” w żadnym przypadku nie może zostać zaktualizowana. Jednak celowo próbujemy zwiększyć zmienną „v”, aby zmienić jej wartość. Gdy program osiągnie ten etap, zgłaszany jest błąd. Na koniec mamy wywołanie funkcji main(), w której definiujemy obiekt „d” klasy „Data” i ustawiamy wartość „20” dla tego obiektu „d”. Następnie wywołujemy funkcję getValue(), aby uzyskać wartość „d” obiektu.

Podpowiedź generuje wyniki poprzedniej implementacji, w której wyświetla błąd „++v”, ponieważ nie wolno modyfikować wartości obiektów funkcji składowych const:

Wniosek

Podsumowując, zagłębimy się w funkcję const języka C++, która służy do uniknięcia przypadkowych zmian wartości programu. Funkcje członkowskie const w C++ są funkcjami tylko do odczytu, których modyfikacja obiektów, na których są wywoływane, jest niedozwolona. Zaimplementowaliśmy także różne scenariusze funkcji const, aby zademonstrować jej funkcjonalność w języku C++.