Apa itu Overloading Konstruktor Di C++: Karakteristik dan Jenis

Diterbitkan: 2021-05-24

C++ adalah Bahasa Pemrograman Berorientasi Objek yang umum digunakan di industri. C++ adalah bahasa pemrograman pelopor dalam OOP, yang dikembangkan oleh Bjarne Stroustrup di AT&T Bell Laboratories pada tahun 1979 . Fitur c++ yang paling sering digunakan adalah membuat kelas di dalamnya. Di dalam sebuah kelas, kita dapat membuat anggota kelas –metode dan variabel.

Daftar isi

pengantar

Konstruktor sering digunakan untuk membuat objek, atau secara teknis, membuat instance objek. Dalam kebanyakan bahasa pemrograman berorientasi objek, mereka juga kelebihan beban. Seperti dalam banyak bahasa pemrograman, nama konstruktor ditentukan sebelumnya berdasarkan kelas. Ini membatasi objek bernama karena mungkin ada satu konstruktor. Dalam skenario di mana beberapa konstruktor diperlukan, mereka diimplementasikan dengan menggunakan fungsi kelebihan beban.

Di C++, konstruktor default tanpa parameter. Mereka dipakai dari anggota objek dengan nilai default yang sesuai.

Anda dapat memiliki gagasan yang adil tentang konsep kelebihan beban yang digunakan dalam Pemrograman Berorientasi Objek.

Konstruktor

Konstruktor (ctor) adalah teknik pemrograman yang digunakan untuk membuat objek dalam pemrograman berorientasi objek berbasis kelas. Objek baru dibuat dengan memanggil subrutin tujuan khusus. Ini adalah fungsi anggota kelas yang, pada gilirannya, menginisialisasi objek kelas. Metode ini menerima argumen. Parameter yang disediakan digunakan oleh konstruktor dasar dan mengatur variabel anggota.

Karakteristik Konstruktor

Konstruktor adalah fungsi anggota khusus dari kelas. Ini berbeda dari fungsi anggota generik karena alasan berikut:

  • Anggota konstruktor bersifat publik
  • Ini memiliki nama yang sama dengan mendeklarasikan kelas.
  • Namanya peka huruf besar-kecil
  • Konstruktor tidak memiliki tipe pengembalian.
  • Konstruktor default dibuat secara implisit.
  • Saat membuat objek, konstruktor dipanggil secara otomatis.
  • Konstruktor tidak diwariskan secara implisit.
  • Biasanya memiliki aturan yang berbeda untuk pengubah ruang lingkup.

Jenis Konstruktor

Konstruktor Default – Konstruktor yang memiliki parameter nihil dan tidak ada argumen. Mereka adalah konstruktor implisit yang dihasilkan oleh kompiler.

Konstruktor Berparameter adalah konstruktor yang dapat digunakan untuk menyampaikan argumen. Argumen menginisialisasi objek yang dibuat. Buat konstruktor berparameter hanya dengan menambahkan parameter ke dalamnya, seperti yang kita lakukan untuk fungsi lainnya. Gunakan parameter di badan konstruktor untuk menginisialisasi objek. Jenis konstruktor ini biasanya digunakan untuk overloading dan juga untuk menginisialisasi berbagai elemen data objek dengan nilai awal yang berbeda.

Copy Constructor - Ini adalah fungsi anggota yang digunakan untuk menginisialisasi objek menggunakan objek lain dari kelas yang sama. Kompiler, secara default, membuat konstruktor salinan untuk setiap kelas, mengikuti salinan anggota antar objek.

Konstruktor dalam C++

Di c++, konstruktor secara otomatis dipanggil ketika sebuah objek (yaitu, instance dari kelas) membuatnya.

Jika kita tidak menentukan konstruktor, kompiler c++ menghasilkan konstruktor default untuk kita (tidak mengharapkan parameter dan memiliki nama kelas).

Konstruktor yang ditulis dengan benar meninggalkan objek yang dihasilkan dalam keadaan valid.

Kelebihan Konstruktor

Overloading Konstruktor adalah fenomena konstruktor membebani konstruktor lain.

Konstruktor yang diberikan dapat kelebihan beban, mirip dengan fungsi kelebihan beban.

Konstruktor yang kelebihan beban mengikuti nama yang sama dengan nama kelas. Namun, itu bervariasi dalam beberapa argumen. Saat membuat objek, jenis argumen yang diteruskan menentukan konstruktor mana yang dipanggil.

Ketersediaan beberapa konstruktor dengan parameter yang berbeda membantu untuk melakukan tugas yang berbeda dalam pemrograman.

Overload Konstruktor di C++

Di c ++, ada beberapa konstruktor di kelas dengan nama yang sama tetapi daftar argumen yang berbeda. Konsep overloading konstruktor di c++ ini sangat mirip dengan fungsi overloading.

Biasanya, Anda harus membuat lebih dari satu konstruktor di kelas untuk menginisialisasi variabel anggota secara berbeda untuk objek. Kriteria untuk berperilaku konstruktor berbeda adalah memiliki jumlah parameter yang berbeda atau pemosisian yang berbeda atau tipe data yang berbeda untuk parameter.

Konstruktor yang secara tegas membuat objek menggunakan satu kelas dan mengembalikan instance baru dari kelas diabstraksikan oleh industri, yang membuat objek tetapi dapat melakukan cara yang berbeda menggunakan kelas yang berbeda atau skema alokasi yang berbeda, seperti kumpulan objek.

Bagaimana Overloading Konstruktor Bekerja Di C++?

Mari kita perhatikan contoh seperti yang ditunjukkan di bawah ini:

Kode mengilustrasikan contoh overloading konstruktor di c++ .

Ada 2 konstruktor kelas "hitung":

  1. Konstruktor default (tanpa parameter apa pun)
  2. Konstruktor dengan tiga parameter

Dan di main() ada dua objek yang dibuat.

1. keluar:

Ketika dibuat, secara otomatis akan memanggil konstruktor default tanpa parameter. Ini karena saat membuat objek, tidak ada parameter yang dilewatkan. Jadi, ini cocok dengan definisi pertama (Konstruktor Default). Ini akan menetapkan nilai 0 ke ketiga variabel untuk objek kelas utama itu.

2. keluar2:

Ketika dibuat, secara otomatis akan memanggil konstruktor dengan 3 parameter. Ini karena saat membuat objek, hanya 1 parameter yang dilewatkan. Jadi, itu cocok dengan definisi Konstruktor Kedua. Ini akan menetapkan 3 nilai (diteruskan sebagai parameter) ke variabel untuk objek kelas utama itu.

Pelajari Kursus Rekayasa Perangkat Lunak online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Kesimpulan

Memahami konsep pemrograman untuk overloading konstruktor di c ++ adalah keterampilan yang signifikan bagi programmer dan perancang sistem. Siswa dalam aliran komputer dan program yang berhubungan dengan komputasi dapat meningkatkan keterampilan dan kredibilitas teknis mereka, seperti konsep OOP dan pengoptimalan kode. Sumber daya dan basis pengetahuan di portal upGrad mendorong para profesional tersebut untuk mendapatkan keahlian pemrograman untuk bersaing di pasar industri. Selain itu, Anda akan mendapatkan kesempatan untuk menjelajahi jaringan profesional dan pengembangan keterampilan.

Jika Anda tertarik untuk mempelajari lebih lanjut tentang pengembangan perangkat lunak full-stack, lihat Program PG Eksekutif upGrad & IIIT-B dalam Pengembangan Perangkat Lunak Full-stack yang dirancang untuk profesional yang bekerja dan menawarkan 500+ jam pelatihan yang ketat, 9+ proyek dan tugas, status Alumni IIIT-B, proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.

Apa itu konstruktor dalam pemrograman?

Konstruktor dalam pemrograman adalah fungsi yang tujuan utamanya adalah untuk menginisialisasi objek dan melakukan tugas sederhana lainnya. Konstruktor digunakan untuk pemrograman berorientasi objek, yang merupakan paradigma pemrograman populer yang digunakan. Sebuah program berorientasi objek dengan demikian berisi objek yang pada gilirannya memiliki properti, metode dan acara. Untuk membuat objek, Anda harus menggunakan konstruktor dan untuk dapat menggunakan objek, Anda harus membuat instance-nya.

Apa itu overloading konstruktor?

Overloading konstruktor berarti memiliki lebih dari satu konstruktor dengan nama yang sama. Konstruktor adalah metode yang dipanggil ketika sebuah objek dibuat. Anda harus menggunakan nama yang sama untuk semua konstruktor yang merupakan nama kelas. Ini dilakukan dengan mendeklarasikan konstruktor dengan jumlah argumen yang berbeda. Jika tidak ada argumen untuk diteruskan, maka konstruktor default akan dipanggil. Jika ada argumen tunggal, maka konstruktor yang mengambil argumen tunggal dipanggil. Jika ada dua atau lebih argumen, maka konstruktor yang mengambil tepat dua atau lebih argumen dipanggil.

Bagaimana cara menginisialisasi objek menggunakan konstruktor?

Konstruktor sangat penting dalam hal inisialisasi kelas Anda. Mereka adalah jenis fungsi khusus yang digunakan untuk membuat dan menginisialisasi objek. Terkadang kami tidak ingin membuat semua bidang di kelas karena tidak diperlukan. Jika kita membuat semua bidang, kita harus menginisialisasi semua bidang. Dalam hal ini, kami menggunakan konstruktor default dan menginisialisasi bidang seperti yang kami inginkan. Saat Anda membuat kelas, Anda bisa membuat satu atau beberapa konstruktor di dalam kelas. Jadi, ketika Anda membuat objek untuk kelas tertentu itu, Anda dapat dengan mudah memanggil konstruktor itu bersama dengan argumen yang ingin Anda atur. Argumen ini dapat ditetapkan sebagai nilai bidang atau atribut kelas yang konstruktornya dipanggil.