C++ Constructor Default Arguments

3 min read Jul 01, 2024
C++ Constructor Default Arguments

C++ Default Arguments for Constructors

Dalam pemrograman C++, constructor adalah fungsi khusus yang dipanggil secara otomatis ketika sebuah objek dari kelas diinisialisasi. Constructor memiliki nama yang sama dengan kelas dan tidak memiliki tipe pengembalian.

Default arguments pada constructor memungkinkan kita untuk memberikan nilai default kepada parameter constructor. Dengan menggunakan default arguments, kita bisa membuat objek tanpa memberikan nilai kepada semua parameter, dan secara otomatis nilai default akan digunakan.

Contoh Penggunaan Default Arguments pada Constructor

#include 

class Rectangle {
public:
  // Constructor dengan default arguments
  Rectangle(int width = 1, int height = 1) : width(width), height(height) {}

  int getArea() {
    return width * height;
  }

private:
  int width;
  int height;
};

int main() {
  // Membuat objek Rectangle dengan nilai default
  Rectangle rect1; 

  // Membuat objek Rectangle dengan width = 5 dan height = 2
  Rectangle rect2(5, 2); 

  std::cout << "Luas rect1: " << rect1.getArea() << std::endl;
  std::cout << "Luas rect2: " << rect2.getArea() << std::endl;

  return 0;
}

Dalam contoh di atas, constructor Rectangle memiliki dua parameter: width dan height. Keduanya diberi nilai default 1.

  • Saat membuat objek rect1 tanpa memberikan nilai, constructor akan menggunakan nilai default untuk width dan height, sehingga rect1 memiliki lebar dan tinggi 1.
  • Saat membuat objek rect2, kita memberikan nilai 5 untuk width dan 2 untuk height. Nilai default tidak digunakan dalam kasus ini.

Manfaat Default Arguments pada Constructor

  • Kode yang Lebih Ringkas: Anda tidak perlu menulis constructor terpisah untuk setiap kombinasi parameter yang mungkin.
  • Inisialisasi Lebih Fleksibel: Anda dapat membuat objek dengan menggunakan nilai default atau dengan memberikan nilai yang spesifik.
  • Pengurangan Kesalahan: Penggunaan nilai default membantu mengurangi kemungkinan kesalahan saat membuat objek, karena parameter yang tidak diberikan akan diisi dengan nilai yang valid.

Poin Penting tentang Default Arguments

  • Penempatan Default Arguments: Default arguments harus ditempatkan di sebelah kanan dalam deklarasi parameter constructor.
  • Hanya Parameter Terakhir: Hanya parameter yang berada di sebelah kanan dalam deklarasi parameter constructor yang dapat memiliki nilai default.
  • Pemanggilan Constructor: Saat memanggil constructor, Anda dapat memberikan nilai kepada beberapa parameter dan membiarkan parameter lainnya menggunakan nilai default.

Dengan menggunakan default arguments pada constructor, Anda dapat membuat kode C++ yang lebih efisien dan mudah dipahami.