Konversi Jenis C ++

Dalam tutorial ini, kita akan belajar tentang dasar-dasar konversi tipe C ++ dengan bantuan contoh.

C ++ memungkinkan kita untuk mengubah data dari satu jenis ke jenis lainnya. Ini dikenal sebagai konversi tipe.

Ada dua tipe konversi tipe di C ++.

  1. Konversi Implisit
  2. Konversi Eksplisit (juga dikenal sebagai Type Casting)

Jenis Konversi Implisit

Konversi tipe yang dilakukan secara otomatis oleh kompilator dikenal sebagai konversi tipe implisit. Jenis konversi ini juga dikenal sebagai konversi otomatis.

Mari kita lihat dua contoh konversi tipe implisit.

Contoh 1: Konversi Dari int menjadi double

 // 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; )

Keluaran

 num_int = 9 num_double = 9

Dalam program ini, kami telah menetapkan intdata ke doublevariabel.

 num_double = num_int;

Di sini, intnilai secara otomatis diubah doubleoleh kompilator sebelum ditetapkan ke variabel num_double. Ini adalah contoh konversi tipe implisit.

Contoh 2: Konversi Otomatis dari double ke int

 //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; )

Keluaran

 num_int = 9 num_double = 9,99

Dalam program ini, kami telah menetapkan doubledata ke intvariabel.

 num_double = num_int;

Di sini, doublenilai secara otomatis diubah intoleh kompiler sebelum ditetapkan ke variabel num_int. Ini juga merupakan contoh konversi tipe implisit.

Catatan: Karena inttidak dapat memiliki bagian desimal, angka di belakang koma akan dipotong dalam contoh di atas.

Kehilangan Data Selama Konversi (Mempersempit Konversi)

Seperti yang telah kita lihat dari contoh di atas, konversi dari satu tipe data ke tipe lainnya rentan terhadap kehilangan data. Ini terjadi ketika data dengan tipe yang lebih besar diubah menjadi data dengan tipe yang lebih kecil.

Kemungkinan Kehilangan Data Selama Konversi Jenis

C ++ Konversi Eksplisit

Ketika pengguna secara manual mengubah data dari satu jenis ke jenis lainnya, ini dikenal sebagai konversi eksplisit . Jenis konversi ini juga dikenal sebagai jenis casting .

Ada tiga cara utama di mana kita dapat menggunakan konversi eksplisit di C ++. Mereka:

  1. Pengecoran tipe C-style (juga dikenal sebagai notasi cor )
  2. Notasi fungsi (juga dikenal sebagai casting tipe gaya C ++ lama )
  3. Ketik operator konversi

Pengecoran Tipe C-style

Seperti namanya, jenis ini casting disukai oleh bahasa pemrograman C . Ini juga dikenal sebagai notasi cor .

Sintaks untuk gaya ini adalah:

 (data_type)expression;

Sebagai contoh,

 // initializing int variable int num_int = 26; // declaring double variable double num_double; // converting from int to double num_double = (double)num_int;

Transmisi Bergaya Fungsi

Kita juga dapat menggunakan fungsi seperti notasi untuk mentransmisikan data dari satu jenis ke jenis lainnya.

Sintaks untuk gaya ini adalah:

 data_type(expression);

Sebagai contoh,

 // initializing int variable int num_int = 26; // declaring double variable double num_double; // converting from int to double num_double = double(num_int);

Contoh 3: Type 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; )

Keluaran

 num_double = 3,56 num_int1 = 3 num_int2 = 3

Kami menggunakan konversi tipe gaya C dan transmisi gaya fungsi untuk konversi tipe dan menampilkan hasilnya. Karena mereka melakukan tugas yang sama, keduanya memberi kita hasil yang sama.

Jenis Operator Konversi

Selain dua jenis coran ini, C ++ juga memiliki empat operator untuk konversi jenis. Mereka dikenal sebagai operator konversi tipe . Mereka:

  • static_cast
  • dynamic_cast
  • const_cast
  • reinterpret_cast

Kita akan mempelajari tentang pemeran ini di tutorial selanjutnya.

Tutorial yang Direkomendasikan:

  • String C ++ ke int dan sebaliknya
  • String C ++ menjadi float, double, dan sebaliknya

Artikel yang menarik...