Programski jezik C++ dozvoljava gotovo sve vrste pretvaranja tipova podataka. Stoga treba biti oprezan kod deklariranja varijabli u koje se pohranjuju operandi i rezultat. Tipovi podatka se automatski pretvaraju prema određenim pravilima:
-
Ako su oba operanda istog tipa, takvog je tipa i rezultat.
-
Ako su operandi različitih tipova, svode se na zajednički tip (uobičajeno složeniji tip) prije zadane operacije. Taj se zajednički tip određuje prema normi ISO/IEC1998. Npr. ako je jedan operand int, a drugi float, oba se pretvaraju u složeniji tip, a to je float, a takav je i rezultat.
|
Primjeri pretvaranja raznih tipova podataka |
|
int a,x;
float b; |
S obzirom na deklaraciju varijabli a, b, x rezultat izraza a*x/b bit će tipa float. |
|
int a,x; float b; a=43; b=1.1; x=a/b; |
Varijabla x poprima vrijednost 39. |
|
int a,b; float x; a=43; b=11; x=a/b; |
Varijabla x poprima vrijednost 3. |
|
|