Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

Konstruktor C++:Menggunakan Argumen Default untuk Pembuatan Objek Fleksibel

Konstruktor adalah fungsi anggota khusus dalam suatu kelas, yang secara otomatis dipanggil ketika suatu objek dibuat. Ini digunakan untuk menginisialisasi objek dengan nilai atau pengaturan default.

Sedangkan argumen default di C++ memungkinkan untuk menentukan nilai default untuk parameter fungsi atau konstruktor.

Konstruktor dengan Argumen Default

Konstruktor dengan argumen default adalah konstruktor yang memungkinkan pembuatan objek menggunakan parameter opsional. Dimana nilai default untuk parameter disediakan, sehingga ketika pengguna tidak memberikan nilai apa pun, nilai default akan digunakan.

Sintaks

Berikut adalah sintaks yang diberikan untuk konstruktor dengan argumen default:

class ClassName {
 public:
 ClassName(parameter_Type parameter_Name = default_Value,
 parameter_Type2 parameter_Name2 = default_Value2);
};

Contoh Konstruktor dengan Argumen Default

Berikut adalah contoh konstruktor dengan argumen default berikut:

#include <iostream>
using namespace std;
// Function with a default argument
void printMessage(string message = "Hello, Tutorialspoint Learner") {
 cout << message << endl;
}
int main() {
 // Calling the function without an argument
 printMessage(); // Prints the default message: "Hello, World!"
 
 // Calling the function with a custom argument
 printMessage("Hi, there!"); // Prints the custom message: "Hi, there!"
 return 0;
}

Keluaran

Hello, Tutorialspoint Learner
Hi, there!

Penjelasan

Konstruktor dengan Banyak Argumen Default

Konstruktor dengan beberapa argumen default memberi pengguna akses untuk menentukan nilai default untuk lebih dari satu parameter. Hal ini memberikan lebih banyak fleksibilitas dan akses untuk meneruskan kombinasi argumen apa pun.

Contoh

Berikut adalah contoh berikut untuk konstruktor dengan beberapa argumen default:

#include <iostream>
using namespace std;
class Box {
 public:
 int length, width, height;
 // Constructor with multiple default arguments
 Box(int l = 5, int w = 10, int h = 2) { // Default values for length, width, and height
 length = l;
 width = w;
 height = h;
 }
 void display() {
 cout << "Length: " << length << ", Width: " << width << ", Height: " << height << endl;
 }
};
int main() {
 // Creating objects with different numbers of arguments
 Box box1; 
 Box box2(15); 
 Box box3(15, 20); 
 Box box4(15, 20, 25); 
 // Displaying the objects' values
 box1.display();
 box2.display();
 box3.display();
 box4.display();
 return 0;
}

Keluaran

Length: 5, Width: 10, Height: 2
Length: 15, Width: 10, Height: 2
Length: 15, Width: 20, Height: 2
Length: 15, Width: 20, Height: 25

Penjelasan

Fitur Utama Konstruktor dengan Argumen Default

Meskipun mirip dengan fungsi biasa, fungsi ini memberikan lebih banyak fleksibilitas dan kenyamanan saat membuat objek.

Berikut ini, kita akan membahas semua fitur utamanya.

1. Nilai default untuk parameter dan fleksibilitas dalam pembuatan objek

Di sini konstruktor dapat memiliki nilai default untuk satu atau beberapa parameter, yang dapat digunakan ketika tidak ada argumen yang diberikan oleh pemanggil dan memungkinkan berbagai cara untuk membuat objek.

2. Menghindari kelebihan beban beberapa konstruktor

Anda mungkin perlu memuat konstruktor untuk setiap kombinasi argumen, yang akan membuat kode menjadi lebih besar, namun dengan argumen default, konstruktor dapat ditulis satu kali dan akan menangani kasus yang berbeda secara otomatis.

3. Urutan Argumen Default

Dalam kasus beberapa parameter nilai default, Anda tidak dapat melewatkan argumen default di tengah setelah Anda mulai memberikan default dari kanan.

Sintaks

Box(int l = 1, int w); // Invalid: 'w' has no default, but 'l' does.

4. Argumen Default Dapat Digunakan dengan Anggota Const

Jika kelas Anda memiliki anggota const, maka argumen default dapat disediakan di konstruktor untuk mempermudah inisialisasi.

Sintaks

class Box {
 public:
 const int length, width;
 Box(int l = 5, int w = 10) : length(l), width(w) {}
};

Konstruktor ini menggunakan argumen default (panjang =5 dan lebar =10) untuk menginisialisasi anggota const.


Bahasa C

  1. C# lanjutkan Pernyataan
  2. 50 Pertanyaan dan Jawaban Wawancara C# Teratas untuk Pengalaman &Mahasiswa Baru (Pembaruan 2021)
  3. Pengaturan Lingkungan C++
  4. C# - Konversi Jenis
  5. C - Kelas Penyimpanan
  6. C# Operator Precedence and Associativity
  7. C# Variabel &Operator dengan Contoh
  8. C# if, if...else, if...else if dan Nested if Statement
  9. Variabel C# dan Tipe Data (Primitif)
  10. Ikhtisar C++