Przejdź do głównej treści
  1. Strona główna
  2. Słownik
  3. INF.03
  4. Konwersja typów w C++

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 float lub double na int nie zaokrągla, tylko odcina część po przecinku,
  • 3.99 po konwersji na int daje 3,
  • typ zwracany funkcji decyduje o ostatecznym typie wyniku,
  • zapis return nie zmienia automatycznie typu funkcji.

Przykład

int wynik() {
    return 7.8;
}

Funkcja zwróci wartość 7, ponieważ wynik musi być typu int.