Ada fungsi khusus di C++, yaitu fungsi dengan nama yang sama dengan nama kelas dalam suatu kelas dan tidak memiliki nilai balik selama kita mendefinisikan objek kelas tersebut, sistem akan secara otomatis memanggilnya untuk inisialisasi khusus objek. Dalam kebanyakan kasus, karena kita tidak mendefinisikan konstruktor , sistem akan menghasilkan bentuk default dan konstruktor tersembunyi secara default. Badan fungsi konstruktor ini kosong dan oleh karena itu tidak memiliki fungsi apa pun.
Selanjutnya, kami akan mengajari Anda cara mendefinisikan konstruktor Anda sendiri. Pengguna perlu mendefinisikan sendiri setidaknya satu konstruktor. Sistem tidak lagi secara otomatis membuatnya, tetapi akan memilih konstruktor yang paling cocok untuk dipanggil berdasarkan konstruktor yang ditentukan pengguna .
Misalnya masih menggunakan kelas Student, kita menambahkan konstruktor dengan parameter default.
#include<iostream>#include<Cstring>usingnamespacestd;classStudent{private:intnum;//nomor siswa charname[100];//nama intscore;//score public:Student(intn,char*str,ints);intprint( );intSet(intn,char*str,ints);};Siswa::Siswa(intn,char*str,ints){num=n;strcpy(nama,str);skor=s;cout<<Konstruktor<< endl;}intStudent::print(){cout<<num<<<<nama<<<<score;return0;}intStudent::Set(intn,char*str,ints){num=n;strcpy(nama, str);skor=s;}intmain(){StudentA(100,dotcpp,11);A.print();return0;}
Artinya, konstruktor dapat dipanggil pada waktu yang sama seperti yang ditentukan untuk merealisasikan fungsi inisialisasi.
Perlu dicatat bahwa karena kita telah mendefinisikan konstruktor dengan parameter default di kelas, sistem tidak akan secara otomatis menghasilkannya. Saat ini, kita juga perlu meneruskan tiga nilai awal default saat mendefinisikan objek, karena konstruktor dapat Overloading, sistem akan menemukan fungsi yang paling cocok, tetapi jika tidak didefinisikan sebagai konstruktor dengan parameter default, kesalahan akan dilaporkan.