Rumah Keuangan Pribadi Mengapa Anda Perlu Menyalin Konstruktor di C + + - dummies

Mengapa Anda Perlu Menyalin Konstruktor di C + + - dummies

Video: Python Tutorial For Beginners | Python Full Course From Scratch | Python Programming | Edureka 2025

Video: Python Tutorial For Beginners | Python Full Course From Scratch | Python Programming | Edureka 2025
Anonim

Konstruktor adalah fungsi khusus yang C ++ panggil secara otomatis saat sebuah objek dibuat untuk memungkinkan objek menginisialisasi dirinya sendiri. Ada dua variasi konstruktor yang dikenal sebagai konstruktor bergerak copy dan .

Konstruktor copy adalah konstruktor yang C ++ gunakan untuk membuat salinan objek. Ini membawa nama X:: X (const X &), di mana X adalah nama kelas. Artinya, ini adalah konstruktor kelas X, yang menganggap argumennya mengacu pada objek kelas X . Ini terdengar sangat tidak berguna, tapi luangkan waktu sebentar untuk mengeksplorasi mengapa C ++ membutuhkan binatang beo semacam itu.

Pikirkan sejenak tentang apa yang terjadi saat Anda memanggil fungsi seperti berikut:

void fn (Student fs) {// … skenario yang sama; argumen yang berbeda …} int main (int argcs, char * pArgs []) {Student ms; fn (ms); return 0;}

Dalam panggilan ke fn (), C ++ melewati salinan objek ms dan bukan objek itu sendiri.

Sekarang pertimbangkan apa artinya membuat salinan dari sebuah objek. Pertama, dibutuhkan konstruktor untuk membuat objek, bahkan salinan objek yang ada. C ++ bisa membuat konstruktor salin default yang menyalin objek yang ada ke objek baru satu byte dalam satu waktu.

Itulah bahasa yang lebih tua seperti C do. Tapi bagaimana jika kelas tidak menginginkan salinan objek yang sederhana? Bagaimana jika ada hal lain yang dibutuhkan? (Abaikan "mengapa?" Untuk sementara waktu.) Kelas harus bisa menentukan dengan tepat bagaimana salinannya harus dibuat.

Jadi, C ++ menggunakan konstruktor salin pada contoh sebelumnya untuk membuat salinan objek ms di tumpukan selama panggilan fungsi fn (). Konstruktor copy khusus ini adalah Student:: Student (Student &) - katakan itu tiga kali dengan cepat.

Mengapa Anda Perlu Menyalin Konstruktor di C + + - dummies

Pilihan Editor

Kantor 2011 untuk Mac: Membuat Tabel dengan Kotak Dialog atau Teks - dummies

Kantor 2011 untuk Mac: Membuat Tabel dengan Kotak Dialog atau Teks - dummies

Sementara ada cara baru untuk membuat tabel di Office 2011 untuk Mac, Anda masih bisa menggunakan teknik stand-by. Menu yang familiar masih bekerja di Office 2011 untuk Mac, dan inilah buktinya. Dialog meja semuanya masih ada di sana: Di Word, pilih Table → Insert → Table; Sebagai alternatif, pada tab Tabel Ribbon, di Tabel Pilihan ...

Kantor 2011 untuk Mac: Melepaskan Command Toolbar - dummies

Kantor 2011 untuk Mac: Melepaskan Command Toolbar - dummies

Apakah Anda menggunakan Office 2011 untuk Mac atau Produk Microsoft Office lainnya, toolbar Anda bisa sangat berantakan. Setiap kali Anda merasa perlu untuk men-tweak antarmuka aplikasi Microsoft Office, Anda perlu memanggil dialog Customize Toolbars and Menus. Ini adalah dialog super kuat di Word, Excel, dan PowerPoint yang memungkinkan Anda ...

Kantor 2011 untuk Mac: Berbagi Toolbar dan Menu - dummies

Kantor 2011 untuk Mac: Berbagi Toolbar dan Menu - dummies

Setelah Anda menyesuaikan Office 2011 Anda bilah alat dan antarmuka, Anda dapat berbagi penyesuaian dengan orang lain. Namun, pastikan bahwa Anda menasihati orang-orang yang telah Anda lakukan sebelum membagikan dokumen Anda dengannya; Jika tidak, mereka mungkin akan terkejut saat mereka membuka dokumen Anda dan melihat susunan toolbar atau menu yang berbeda dari pada apa ...

Pilihan Editor

Penting Office 2007 Commands - dummies

Penting Office 2007 Commands - dummies

Anda dapat membuat program Office 2007 lebih mudah jika Anda menggunakan pintasan sederhana ini. Perintah-perintah ini, seperti mengurungkan kesalahan dan memperbesar dan memperkecil akan membantu Anda menghemat waktu. Memasuki simbol: Untuk memasukkan simbol atau karakter asing yang tidak ada pada keyboard Anda, masuk ke tab Insert dan klik Symbol ...

Menyesuaikan Perintah Menu di Office 2003 - dummies

Menyesuaikan Perintah Menu di Office 2003 - dummies

Office 2003 menyediakan dua teknik untuk menyesuaikan menu dan perintah menu. Anda bisa memulai dari kotak dialog Rearrange Commands atau menggunakan metode drag-and-drop. Teruslah membaca. Menangani perintah menu di kotak dialog Rearrange Commands Teknik tombol Options Toolbar untuk menangani tombol toolbar bagus dan keren, tapi bagaimana jika Anda ingin ...

Pilihan Editor

Bagaimana memecahkan kesalahan logis dalam analisis argumen Pertanyaan GRE - dummies

Bagaimana memecahkan kesalahan logis dalam analisis argumen Pertanyaan GRE - dummies

Ketika Anda menjawab Argument Analysis Pertanyaan di GRE, argumen mungkin tampak logis dan adil di permukaan tapi sebenarnya keliru (keliru, cacat). Alasan melingkar, penalaran sebab-akibat yang keliru, dan generalisasi sweeping adalah tiga tanda argumen lemah. Dengan melihat beberapa kesalahan logis yang lebih umum, Anda dapat mengidentifikasi kelemahan dalam argumen dan ...

Pilihan ganda, Beberapa Jawaban tentang Tes Matematika GRE - Pertanyaan Praktik - dummies

Pilihan ganda, Beberapa Jawaban tentang Tes Matematika GRE - Pertanyaan Praktik - dummies

Meskipun pertanyaan matematika biasanya hanya memiliki satu jawaban yang benar, ini tidak selalu terjadi. Akibatnya, beberapa pertanyaan pilihan ganda pada tes GRE Math akan memberi Anda daftar jawaban dan meminta Anda untuk memilih lebih dari satu. Pertanyaan praktik berikut meminta Anda untuk menemukan nilai kemungkinan yang berbeda secara berurutan dan ...

Pilihan ganda, Beberapa Jawaban tentang Tes Verbal GRE - Pertanyaan Praktik - dummies

Pilihan ganda, Beberapa Jawaban tentang Tes Verbal GRE - Pertanyaan Praktik - dummies

Pada tes GRE Verbal, beberapa pertanyaan pilihan ganda akan memiliki lebih dari satu jawaban yang benar. Untuk pertanyaan ini, Anda akan diminta untuk melihat-lihat pilihan jawaban dan memilih semua yang menurut Anda benar. Dalam pertanyaan praktik berikut, Anda diminta untuk membaca bagian yang disertakan, dan kemudian ...