Selles õpetuses õpime näidete abil C ++ tüüpi teisendamise põhitõdesid.
C ++ võimaldab meil teisendada ühte tüüpi andmeid teisteks. Seda nimetatakse tüübi teisendamiseks.
C ++ keeles on kahte tüüpi tüübikonversioone.
- Kaudne teisendamine
- Selgesõnaline teisendamine (tuntud ka kui tüüpide ülekandmine)
Kaudne tüübikonversioon
Tüüpide teisendamine, mille kompilaator automaatselt teeb, on kaudne tüübikonversioon. Seda tüüpi teisendamist nimetatakse ka automaatseks teisendamiseks.
Vaatame kahte kaudse tüübi teisendamise näidet.
Näide 1: teisendamine int-st kahekordseks
// Working of implicit type-conversion #include using namespace std; int main() ( // assigning an int value to num_int int num_int = 9; // declaring a double type variable double num_double; // implicit conversion // assigning int value to a double variable num_double = num_int; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; return 0; )
Väljund
num_int = 9 num_double = 9
Programmis oleme määranud muutujale int
andmed double
.
num_double = num_int;
Siin int
teisendab väärtus double
koostaja automaatselt väärtuseks, enne kui see määratakse muutujale num_double. See on kaudse tüübi teisendamise näide.
Näide 2: automaatne teisendamine topelt-int-le
//Working of Implicit type-conversion #include using namespace std; int main() ( int num_int; double num_double = 9.99; // implicit conversion // assigning a double value to an int variable num_int = num_double; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; return 0; )
Väljund
num_int = 9 num_double = 9,99
Programmis oleme määranud muutujale double
andmed int
.
num_double = num_int;
Siin double
teisendab väärtus int
koostaja automaatselt väärtuseks, enne kui see määratakse muutujale num_int. See on ka näide kaudse tüübi teisendamisest.
Märkus. Kuna kümnendosa int
ei saa olla, kärbitakse ülaltoodud näites kümnendkoha järel olevad numbrid.
Andmete kadumine konversiooni ajal (konversiooni kitsendamine)
Nagu ülaltoodud näitest nägime, on ühelt andmetüübilt teisele teisendamine altid andmete kadumisele. See juhtub siis, kui suuremat tüüpi andmed teisendatakse väiksemat tüüpi andmeteks.

C ++ selgesõnaline teisendamine
Kui kasutaja muudab andmeid käsitsi ühest tüübist teise, nimetatakse seda selgesõnaliseks teisendamiseks . Seda tüüpi teisendamist nimetatakse ka tüübi valamiseks .
Selgesõnalist teisendamist saab C ++ keeles kasutada kolmel peamisel viisil. Nemad on:
- C-stiilis casting (tuntud ka kui cast notation )
- Funktsioonide tähis (tuntud ka kui vana C ++ stiilis tüüpi ülekandmine )
- Tüübi teisendamise operaatorid
C-stiilis tüüpvalu
Nagu nimigi ütleb, eelistab seda tüüpi castingut C-programmeerimiskeel . Seda tuntakse ka kui valatud tähistust .
Selle stiili süntaks on järgmine:
(data_type)expression;
Näiteks,
// initializing int variable int num_int = 26; // declaring double variable double num_double; // converting from int to double num_double = (double)num_int;
Funktsioonistiilis casting
Andmete ühest tüübist teise ülekandmiseks võime kasutada ka sellist funktsiooni nagu märge.
Selle stiili süntaks on järgmine:
data_type(expression);
Näiteks,
// initializing int variable int num_int = 26; // declaring double variable double num_double; // converting from int to double num_double = double(num_int);
Näide 3: tüüp casting
#include using namespace std; int main() ( // initializing a double variable double num_double = 3.56; cout << "num_double = " << num_double << endl; // C-style conversion from double to int int num_int1 = (int)num_double; cout << "num_int1 = " << num_int1 << endl; // function-style conversion from double to int int num_int2 = int(num_double); cout << "num_int2 = " << num_int2 << endl; return 0; )
Väljund
num_double = 3.56 num_int1 = 3 num_int2 = 3
Kasutasime tüübi teisendamiseks nii C-stiili tüübi teisendamist kui ka funktsioonistiili ülekandmist ja kuvasime tulemused. Kuna nad täidavad sama ülesannet, annavad mõlemad meile sama väljundi.
Tüübi teisendamise operaatorid
Lisaks nendele kahele tüübivalule on C ++-l ka neli operaatorit tüüpi teisendamiseks. Neid tuntakse kui tüübi teisendamise operaatoreid . Nemad on:
static_cast
dynamic_cast
const_cast
reinterpret_cast
Nende näitlejate kohta saame teada hilisemates õpetustes.
Soovitatavad õpetused:
- C ++ string int-le ja vastupidi
- C ++ string ujukiks, topelt ja vastupidi