Bagaimana Melaksanakan Salin Pembina Dalam C ++?



Memahami Pembina telah menjadi teka-teki bagi banyak pihak. Artikel ini akan membantu anda mengungkap konsep Copy Constructor In C ++

Memahami Pembina telah menjadi teka-teki bagi banyak orang. Artikel ini akan membantu anda mengungkap konsep Copy Constructor In C ++. Petunjuk berikut akan dibahas dalam artikel ini,

tukang masak vs boneka vs jenkins

Oleh itu, mari kita mulakandengan artikel ini mengenai Salin Pembina di C ++





Salinan Konstruktor adalah Konstruktor yang memulakan objek kelas menggunakan objek lain dari kelas yang sama.

Sintaks:



Kami mempunyai kata kunci const kerana kami ingin menjadikan nilai tetap dan memastikan bahawa ia tidak diubah suai di suatu tempat dalam kod. Seperti konstruktor lalai, konstruktor salinan juga disediakan oleh penyusun. Ini dipanggil Pembina Salin Lalai. Pembina salinan boleh dibuat secara peribadi. Kami tidak dapat menyalin objek kelas apabila menjadikan penyusun salinan itu peribadi.

Berikut adalah Contoh Kod :

#sertakan dengan menggunakan ruang kelas nama std ujian {peribadi: int x awam: ujian (int x1) {x = x1} ujian (const const & t2) {x = t2.x} int getX () {return x}} int main () {test t1 (7) // Pembina biasa dipanggil di sini ujian t2 = t1 // Salin konstruktor dipanggil di sini cout<< 't1.x = ' << t1.getX() cout << 'nt2.x = ' << t2.getX() return 0 } 

Pengeluaran:



Output-Copy Constructor di C ++ - Edureka

Penjelasan

Program di atas adalah demo asas pembina salinan. Kami mempunyai ujian kelas, dengan ahli data peribadi jenis int yang dipanggil x. Kemudian kita mempunyai konstruktor parameter, yang memberikan 7 kepada pemboleh ubah x. Kami mempunyai konstruktor salinan, yang menunjukkan nilai t2 dengan nilai t1. Alamat t2 dihantar yang menyimpan nilai t1 dan diberikan kepada x. Terdapat fungsi get yang mengembalikan nilai x.

Fungsi utama mempunyai objek ujian kelas yang disebut t1. Terdapat nilai yang berkaitan dengan objek ini, ini adalah parameter. Fungsi utama mempunyai objek ujian kelas yang disebut t2. Ini dimulakan dengan menggunakan pemboleh ubah t1 dan penyusun salinan dipanggil di sini. Terakhir, fungsi get dipanggil berkenaan dengan t1 dan t2 untuk mendapatkan nilai x.

pindahkan fail ke contoh tetingkap ec2

Jenis-Jenis

Terdapat dua jenis konstruktor salinan.
⦁ Pembina Salinan Cetek
⦁ Pembuat Salin Dalam

Teruskan dengan artikel ini mengenai Salin Pembina di C ++

Pembina salinan cetek:

Pembuat Salinan Cetek adalah Pembina Salin Lalai.

Contoh:

Dua orang mengakses pangkalan data pada masa yang sama dan membuat perubahan pada nilai melalui dua sistem yang berbeza. Sekiranya mereka membuat perubahan pada pangkalan data, kedua-dua perubahan ini akan ditunjukkan dalam pangkalan data. Kedua-dua objek akan menunjuk ke lokasi memori yang sama. Ini adalah Pembina Salinan Cetek. Ini kebanyakannya berlaku semasa kita bekerja dengan penyusun salinan lalai. Berikut adalah Contoh Kod Untuk: Pembuat Salinan Cetek:

#sertakan dengan menggunakan ujian ruang std namespace {public: int y, z test (int y1, int z1) {y = y1 z = z1}} int main () {test a (7,13) cout<<'the sum is: '<< a.y+a.z return 1 } 

Pengeluaran:

cara menggabungkan data dalam tableau

Penjelasan:

Dalam kod di atas, kami menggunakan konstruktor salinan lalai yang disediakan oleh penyusun. Oleh itu ia adalah Pembina Salinan Cetek.

Teruskan dengan artikel ini mengenai Salin Pembina di C ++

Pembina salinan dalam

Deep Copy Constructor adalah konstruktor salinan yang ditentukan pengguna.
Sebagai contoh:
Apabila dua orang mesti membuat persembahan dan mereka berdua menyalin dari sumber yang sama, salinannya terpisah. Oleh itu, apabila anda membuat pengubahsuaian, salinan yang lain tidak akan terjejas. Ini adalah Pembuat Salin Dalam. Kedua-dua objek akan menunjuk ke lokasi memori yang berbeza dan perubahan pada satu tidak akan memberi kesan pada yang lain. Memori diperuntukkan secara dinamik.

Berikut adalah Contoh Kod Untuk: Pembuat Salin Dalam:

#sertakan dengan menggunakan ruang kelas nama std ujian {peribadi: int x awam: ujian (int x1) {x = x1} ujian (const const & t2) {x = t2.x} int getX () {return x}} int main () {test t1 (7) // Pembina biasa dipanggil di sini ujian t2 = t1 // Salin konstruktor dipanggil di sini cout<< 't1.x = ' << t1.getX() cout << 'nt2.x = ' << t2.getX() return 0 } 

Pengeluaran:

Penjelasan

Ini adalah kod yang sama yang telah kita gunakan di atas, memberikan output yang serupa. Ia adalah Pembina Salin yang ditentukan pengguna dan oleh itu ia adalah Pembuat Salin Dalam.

Oleh itu, kita telah mengakhiri artikel ini mengenai ‘Copy Constructor in C ++’. Sekiranya anda ingin mengetahui lebih lanjut, lihat di oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai. Kursus latihan dan pensijilan Java J2EE dan SOA Edureka dirancang untuk melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate & Spring.

Ada soalan untuk kami? Sila sebutkan di bahagian komen blog ini dan kami akan menghubungi anda secepat mungkin.