Video: Python Tutorial For Beginners | Python Full Course From Scratch | Python Programming | Edureka 2024
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.