konstruktor kelas C++

C Class Constructors



Konstruktor seperti fungsi. Ini digunakan untuk menginisialisasi nilai dan objek kelas. Konstruktor ini dimulai ketika objek kelas dibuat. Konstruktor secara langsung tidak mengembalikan nilai apa pun. Untuk mendapatkan nilai konstruktor, kita perlu mendeskripsikan fungsi terpisah karena konstruktor tidak memiliki tipe pengembalian apa pun. Konstruktor berbeda dari fungsi sederhana dengan cara yang berbeda. Konstruktor dibuat ketika objek dibuat. Itu didefinisikan di segmen publik kelas.

Pada artikel ini, kami akan membahas semua jenis konstruktor ini dengan contoh.







Contoh 1

Ini adalah ilustrasi konstruktor default. Seperti yang kita ketahui bahwa konstruktor secara default dibuat secara otomatis ketika kita membuat objek dari suatu kelas. Ini disebut penciptaan implisit. Konstruktor memiliki nama yang sama dengan nama kelas. Pertimbangkan file yang memiliki kode c++ konstruktor seperti yang kita ketahui bahwa kelas memiliki dua opsi, pribadi dan publik. Bagian pribadi berisi variabel data, sedangkan bagian publik adalah untuk fungsi yang diambil oleh objek apa pun. Jadi konstruktor juga didefinisikan di bagian publik.



Bilangan bulat()

{

x=lima puluh;

dan=dua puluh;

};

Dalam konstruktor ini, nilai ditugaskan ke variabel. Jika kita ingin mengambil nilai sebagai output, kita harus mencetaknya di program utama.







Setelah mendefinisikan konstruktor, kelas ditutup. Saat memasuki program utama, kita akan mencetak nilai dengan menggunakan objek. Objek selalu mengakses konstruktor karena ini adalah bagian dari kelas. Pembuatan objek sangat sederhana. Hal ini dilakukan dengan memperkenalkannya dengan nama kelas. Itu adalah bilangan bulat dalam contoh ini. Nilai akan diambil melalui metode titik. yaitu, a.x.

Kita dapat melihat output dari source code dari terminal di Ubuntu. Pendekatan yang digunakan untuk mendapatkan output cukup mudah. Pertama kode dikompilasi, dan kemudian dieksekusi. Kami menggunakan compiler G++ untuk proses kompilasi. Sama seperti dalam kasus C, kami menggunakan GCC.



$ G++ -atau filec filec.C

./filec

-O digunakan untuk menyimpan output dalam file.

Contoh 2

Dalam ilustrasi ini, kita akan menjelaskan konstruktor berparameter. Berbeda dengan contoh sebelumnya, kita juga dapat meneruskan argumen ke konstruktor dari program utama. Ketika objek dihasilkan, nilai-nilai ini secara otomatis diteruskan ke variabel yang ada di konstruktor untuk menerima nilai. Beberapa kegunaan konstruktor berparameter adalah.

  • Ini digunakan untuk menginisialisasi variabel yang berbeda dengan nilai yang berbeda di dalam konstruktor ketika diinisialisasi.
  • Ini digunakan dalam overloading konstruktor. Ini ditentukan kemudian dalam artikel.

Sekarang mari kita perhatikan ilustrasi yang telah kami jelaskan untuk menguraikan konsep ini. Kelas memiliki nama integer, jadi pasti, nama konstruktor juga akan sama. Dalam parameter konstruktor, ada dua nilai tipe integer. Ini diinisialisasi untuk menerima nilai yang dikirim dari program utama sebagai panggilan fungsi.

Bilangan bulat( ke dalamx,ke dalamdan)

{

KE=x;

B=dan;

};

Pada contoh sebelumnya, variabel di dalam konstruktor diberi nilai. Sedangkan dalam konstruktor ini, variabel ditugaskan dengan variabel yang memiliki nilai.

Jika kita ingin mengambil tampilan, kita perlu mendefinisikan fungsi yang akan mengembalikan nilai karena tidak mungkin mengakses variabel yang diinisialisasi itu langsung dari konstruktor.

ke dalamdapatkanX()

{

kembalike;

};

Sekarang kita akan melihat bagian utama dari program. Di sini ketika objek dibuat, Anda dapat melihat nilai di bagian parameter.

Bilangan bulat v(70,55); {implisit}

bilangan bulat v=bilangan bulat(10,limabelas); {eksplisit}

Dan untuk menampilkan hasilnya, kita akan memanggil fungsi yang dibuat di dalam kelas dengan menggunakan objek. yaitu v.getx().

Metode pengambilan catatan sama seperti yang diperkenalkan sebelumnya.

Contoh 3

Contoh ini berkaitan dengan penyalinan konstruktor kelas. Konstruktor yang disalin digunakan untuk menginisialisasi objek dengan objek lain dari kelas yang serupa. Konstruktor ini menyalin data yang ada di satu objek ke objek lainnya. Parameter konstruktor ini berisi alamat objek kelas. Pertimbangkan contoh yang diberikan, di mana kami telah memperkenalkan dua variabel dari tipe data yang sama sehingga ini dapat diakses oleh fungsi apa pun di dalam kelas. Konstruktor akan menerima nilai melalui variabel. Pada saat yang sama, konstruktor yang disalin hanya akan menerima objek. Dan dengan bantuan objek ini, nilai akan diambil.

dinding(dinding&obj)

{

Panjang=obj.panjang;

Tinggi=obj.tinggi;

}

Kita harus menghitung luas, jadi fungsi untuk perhitungan ini didefinisikan di sini. Ini akan mengembalikan nilai ke fungsi utama saat dipanggil. Sekarang kita akan mengamati program utama dari kode

Panggilan fungsi dari konstruktor yang disalin akan seperti ini.

Dinding dinding2=dinding1;

Objek memanggil konstruktor yang disalin, dan data melalui objek pertama disalin melaluinya. Selanjutnya, kita akan memanggil fungsi untuk menghitung luas melalui kedua objek.

Dari output, Anda dapat melihat bahwa hasil dari kedua konstruktor adalah sama. Ini berarti seluruh data berhasil disalin oleh objek.

Contoh 4

Ini adalah ilustrasi overloading konstruktor. Itu terjadi ketika kita harus menggunakan lebih dari satu fungsi di dalam kelas. Overloading konstruktor mengikuti instruksi konstruktor berparameter. Semua konstruktor di kelas memiliki nama yang mirip dengan kelas. Tetapi masing-masing konstruktor diberikan parameter yang berbeda. Setiap konstruktor dipanggil sesuai dengan argumen saat kita membuat objek.

Pertimbangkan contoh yang diberikan, di mana kami telah menggunakan tiga konstruktor. Salah satunya adalah tanpa argumen. Yang kedua dengan satu argumen, sedangkan yang ketiga dengan dua argumen. Ilustrasi ini mirip dengan yang sebelumnya. Saat kami menghitung area dalam fungsi terpisah yang dijelaskan di dalam kelas.

// Konstruktor dengan dua argumen

membentuk(ke dalamx,ke dalamdan)

{

ke=x;

B=dan;

};

Sekarang, bergerak menuju program utama, kita dapat melihat bahwa ketika kita menginisiasi objek kelas, konstruktor tanpa argumen dipanggil secara default. Sekarang kita perlu memanggil konstruktor lain dengan objek berbeda yang memiliki argumen berbeda.

bentuk s;

Bentuk s2(8);

Bentuk s3(4,2);

Fungsi yang melaluinya kita dapat menampilkan nilai dipanggil melalui objek yang sama yang dibuat.

Untuk melihat output, kami akan menggunakan metode terminal perintah yang sama dengan mengkompilasi dan mengeksekusi kode yang ada dalam file.

Dari output, kita dapat melihat bahwa jawabannya sama untuk setiap konstruktor.

Kesimpulan

Dalam tutorial ini, kita telah melihat dasar-dasar konstruktor dan fungsinya, termasuk cara membebani mereka. Konstruktor digunakan untuk menginisialisasi variabel dengan nilai.