Konwersja typów w C++
Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Konwersja typów w C++ oznacza zamianę wartości jednego typu na wartość innego typu, np. z float na int albo z int na double. Może nastąpić automatycznie, czyli niejawnie, albo zostać wymuszona przez programistę.
Konwersja niejawna
Konwersja niejawna zachodzi wtedy, gdy kompilator sam dopasowuje typ wartości do kontekstu. Przykład:
int x = 4.9;
Liczba 4.9 jest wartością zmiennoprzecinkową, ale zmienna x ma typ int. W C++ część ułamkowa zostanie odcięta, więc x otrzyma wartość 4, a nie 5.
Konwersja przy zwracaniu wartości z funkcji
Jeżeli funkcja ma zadeklarowany typ zwracany int, to każda zwracana wartość zostanie dopasowana do typu int:
int zao(float x) {
return x + 0.5;
}
Dla argumentu 3.55 wyrażenie x + 0.5 daje 4.05. Ponieważ funkcja zwraca int, wynik 4.05 zostaje zamieniony na 4 przez odcięcie części ułamkowej.
Ważne zasady egzaminacyjne
- konwersja z
floatlubdoublenaintnie zaokrągla, tylko odcina część po przecinku, 3.99po konwersji naintdaje3,- typ zwracany funkcji decyduje o ostatecznym typie wyniku,
- zapis
returnnie zmienia automatycznie typu funkcji.
Przykład
int wynik() {
return 7.8;
}
Funkcja zwróci wartość 7, ponieważ wynik musi być typu int.