Teknologi

Konversi Jenis – Kelas ke Kelas

Sekarang kita telah memahami cara mengubah tipe data dasar ke tipe kelas dan sebaliknya, sekarang saatnya untuk mempelajari cara mengonversi objek dari satu tipe kelas ke tipe kelas lainnya.

Konversi antara objek dari kelas yang berbeda dapat dilakukan dengan menggunakan konstruktor satu argumen atau fungsi konversi . Pilihannya tergantung pada apakah rutin konversi harus dideklarasikan di kelas sumber atau di kelas tujuan. Sebagai ilustrasi, pertimbangkan sebuah program yang berisi dua kelas: A dan B . Perhatikan juga pernyataan:

objek_A = objek_B;

Dalam pernyataan di atas, object_B dari tipe B dikonversi ke tipe A dan ditugaskan ke object_A . Oleh karena itu, object_B adalah sumber dan object_A adalah tujuan.

Untuk konversi, pengguna dapat menggunakan fungsi konversi atau konstruktor dengan satu argumen, tergantung pada apakah itu ditentukan di kelas sumber atau kelas tujuan. Dengan kata lain, jika kelas B menangani konversi, itu akan memegang fungsi konversi. Di sisi lain, jika kelas A melakukan konversi, ia akan melakukannya melalui konstruktor yang mengambil argumen tipe kelas B.

Perhatikan bahwa hanya satu dari dua rutinitas konversi yang harus ditentukan; kompiler akan menghasilkan kesalahan jika keduanya ditentukan karena tidak akan dapat mengetahui rutin mana yang harus dipanggil.

Contoh Program

.cf { font-family: Lucida Console; ukuran font: 9pt; warna hitam; latar belakang: putih; }
.cl { margin: 0px; }
.cb1 { warna: hijau; }
.cb2 { warna: biru; }
.cb3 { warna: merah marun; }

/*

* Program mengkonversi dari satu jenis kelas ke

* lain menggunakan fungsi konversi

* dan konstruktor

* https://www.tech-faq.com

*/

#sertakan <iostream>

menggunakan namespace std;

kelas Kilometer

{

pribadi:

kilometer ganda;

publik:

Kilometer(dua kilometer): kilometer(kilometer) {}

tampilan kosong()

{

cout<<km<<“km”;

}

getValue ganda()

{

kembali kilometer;

}

};

kelas Miles

{

pribadi:

mil ganda;

publik:

Miles(double miles) : miles(miles) {}

tampilan kosong()

{

cout<<km<<“km”;

}

operator Kilometer()

{

kembali Kilometer (mil * 1.609344);

}

Mil (Kilometer kilometer)

{

mil = kilometer.getValue()/1.609344;

}

};

int utama (kosong)

{

/*

* Konversi menggunakan fungsi konversi

*/

Mil m1 = 100;

Kilometer k1 = m1;

m1.display();

cout<<” = “;

k1.display();

cout<<endl;

/*

* Konversi menggunakan konstruktor

*/

Kilometer k2 = 100;

Mil m2 = k2; // sama dengan: Mil m2 = Mil(k2);

k2.display();

cout<<” = “;

m2.display();

cout<<endl;

}

Keluaran

100 mil = 160,934 kilometer

100 kilometer = 62,1371 mil

Dalam Seri ini

  • Pengantar konversi tipe
  • Konversi dari tipe dasar ke tipe kelas
  • Konversi dari tipe kelas ke tipe dasar
  • Konversi dari satu tipe kelas ke tipe kelas lain

Related Posts

Mencadangkan dan Memulihkan Direktori Aktif

Ikhtisar tentang Mencadangkan dan Memulihkan Direktori Aktif Untuk memastikan ketersediaan sumber daya kritis misi dan objek jaringan, dan kelangsungan bisnis, Anda perlu melakukan pencadangan Active Directory jika dijalankan…

eSATA (Lampiran Teknologi Lanjutan Serial Eksternal)

eSATA adalah singkatan dari External Serial Advanced Technology Attachment. Ini dimaksudkan sebagai antarmuka eksternal untuk teknologi SATA. SATA atau Serial ATA (Advanced Technology Attachment) adalah generasi berikutnya dari…

Cara Mengubah Alamat MAC

Setiap kartu Ethernet memiliki alamat MAC yang ditetapkan pabrik yang dibakar ke dalamnya saat dibuat. Terkadang, pengguna mungkin ingin mengubah alamat MAC ini menjadi salah satu pilihan mereka….

Jenis Perangkat Keras Jaringan

Perangkat keras jaringan label umumnya diberikan ke peralatan apa pun dengan tugas memindahkan data. Kategori umum perangkat keras jaringan meliputi: Router Sakelar Kartu Antarmuka Jaringan Router Sebuah router…

Bayangkan dunia tanpa bahasa

Bahasa adalah sesuatu yang kita anggap remeh, tetapi ketika saya mulai memikirkannya, itu adalah tantangan untuk mendefinisikannya, belum lagi definisi bahasa bergantung pada bahasa dan hubungan rumit yang…

Integrasi Macintosh dan Windows Server

Ikhtisar Layanan Macintosh Sementara di masa lalu, agak sulit untuk mengintegrasikan jaringan Macintosh dan jaringan Windows karena setiap sistem operasi pada dasarnya menggunakan protokol, struktur dan sistem file…