konstruktor kelas C++

konstruktor kelas C++

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. 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.

Integer()

{

x=50;

y=20;

};

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, “kapak”

Kita bisa 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++ -o 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.

Integer( int x, int y)

{

A=x;

B=y;

};

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.

int getX()

  {

    return a;

  };

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

Integer v(70,55);         {implicit}

integer v=integer(10,15);      {explicit}

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

Metode pengambilan catatan sama seperti yang diperkenalkan sebelumnya.

Contoh 3

Contoh ini berkaitan dengan penyalinan konstruktor kelas. Konstruktor yang dicopy digunakan untuk menginisialisasi objek dengan objek lain dari kelas yang sama. 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 dicopy hanya akan menerima objek. Dan dengan bantuan objek ini, nilai akan diambil.

Wall(wall &obj)

{

Length = obj.length;

Height= obj.height;

}

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 dicopy akan seperti ini.

Wall wall2 = wall1;

Objek memanggil konstruktor yang dicopy, dan data melalui objek pertama dicopy 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 dicopy 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.

// Constructor with two arguments

  shape(int x, int y)

  {

    a= x;

    b= y;

  };

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.

Shape s;

Shape s2(8);

Shape s3(4,2);

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

Untuk melihat output, kita akan menggunakan metode command terminal 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.

Related Posts