Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

C++ Konstruktoren: Default-Argumente für flexible Objekterstellung nutzen

Ein Konstruktor ist eine spezielle Memberfunktion einer Klasse, die automatisch aufgerufen wird, wenn ein Objekt erstellt wird. Sie dienen dazu, das Objekt mit Werten oder Standardeinstellungen zu initialisieren.

Default-Argumente in C++ erlauben es, Standardwerte für Funktions- oder Konstruktorparameter festzulegen.

Konstruktor mit Default-Argumenten

Ein Konstruktor mit Default-Argumenten ermöglicht die Erstellung eines Objekts mit optionalen Parametern. Werden Standardwerte für Parameter bereitgestellt, wird der Standardwert verwendet, wenn der Aufrufer keine Werte übergibt.

Syntax

Hier die Syntax für einen Konstruktor mit Default-Argumenten:

 class KlassenName { public: KlassenName(Parameter_Typ Parameter_Name = Standard_Wert, Parameter_Typ2 Parameter_Name2 = Standard_Wert2); }; 

Beispiel: Konstruktor mit Default-Argumenten

Hier ein Beispiel für einen Konstruktor mit Default-Argumenten:

 #include <iostream> using namespace std; // Funktion mit Default-Argument void printMessage(string message = "Hello, Tutorialspoint Learner") { cout << message << endl; } int main() { // Aufruf ohne Argument printMessage(); // Gibt Standardnachricht aus: "Hello, Tutorialspoint Learner" // Aufruf mit benutzerdefiniertem Argument printMessage("Hi, there!"); // Gibt benutzerdefinierte Nachricht aus: "Hi, there!" return 0; } 

Ausgabe

 Hello, Tutorialspoint Learner Hi, there! 

Erklärung

Konstruktor mit mehreren Default-Argumenten

Ein Konstruktor mit mehreren Default-Argumenten erlaubt Standardwerte für mehr als einen Parameter. Dies bietet mehr Flexibilität und Zugriff auf beliebige Argumentkombinationen.

Beispiel

Hier ein Beispiel für einen Konstruktor mit mehreren Default-Argumenten:

 #include <iostream> using namespace std; class Box { public: int length, width, height; // Konstruktor mit mehreren Default-Argumenten Box(int l = 5, int w = 10, int h = 2) { // Standardwerte für Länge, Breite, Höhe length = l; width = w; height = h; } void display() { cout << "Length: " << length << ", Width: " << width << ", Height: " << height << endl; } }; int main() { // Objekte mit unterschiedlicher Argumentanzahl erstellen Box box1; Box box2(15); Box box3(15, 20); Box box4(15, 20, 25); // Objektwerte anzeigen box1.display(); box2.display(); box3.display(); box4.display(); return 0; } 

Ausgabe

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

Erklärung

Wesentliche Merkmale von Konstruktoren mit Default-Argumenten

Während sie regulären Funktionen ähneln, bieten sie mehr Flexibilität und Komfort bei der Objekterstellung.

1. Standardwerte für Parameter und Flexibilität bei der Objekterstellung

Der Konstruktor kann Standardwerte für einen oder mehrere Parameter haben, die verwendet werden, wenn der Aufrufer kein Argument übergibt, und ermöglicht mehrere Arten der Objekterstellung.

2. Vermeidung mehrerer Konstruktor-Überladungen

Man müsste den Konstruktor für jede Argumentkombination überladen, was den Code aufbläht. Mit Default-Argumenten wird der Konstruktor einmal geschrieben und handhabt verschiedene Fälle automatisch.

3. Reihenfolge der Default-Argumente

Bei mehreren Default-Parametern können Sie keine Default-Argumente in der Mitte überspringen, sobald Sie von rechts anfangen, Defaults bereitzustellen.

Syntax

 Box(int l = 1, int w); // Ungültig: 'w' hat keinen Default, aber 'l' hat einen. 

4. Default-Argumente können mit const-Membern verwendet werden

Wenn Ihre Klasse const-Member hat, können Default-Argumente im Konstruktor bereitgestellt werden, um die Initialisierung zu erleichtern.

Syntax

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

Dieser Konstruktor nutzt Default-Argumente (length = 5, width = 10) zur Initialisierung der const-Member.

C Sprache

  1. C# ArrayList meistern: Umfassendes Tutorial mit praktischen Beispielen
  2. C++ Konstruktor-Initialisierungsliste: Warum und wie man sie einsetzt
  3. C# Interfaces verstehen: Definition, Beispiel und praktische Anwendung
  4. Bedingte Logik in C# meistern: If, If-Else, If-ElseIf und verschachtelte If-Anweisungen
  5. C Typecasting: Implizite und explizite Konvertierungen mit Code-Beispielen meistern
  6. C++ Klassen & Objekte: Praktischer Leitfaden zur objektorientierten Programmierung
  7. C# Arrays meistern: Deklaration, Initialisierung und Arbeit mit Integer-Sammlungen
  8. C++-Konstruktoren verstehen: Standard-, Parameter- und Kopierkonstruktor erklärt
  9. C# Windows Forms Entwicklung: Ein praxisnahes Tutorial
  10. Dynamische Speicherallokation in C: malloc() verstehen mit praktischen Beispielen