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

C++-Konstruktoren:Verwendung von Standardargumenten für die flexible Objekterstellung

Ein Konstruktor ist eine spezielle Mitgliedsfunktion in einer Klasse, die automatisch aufgerufen wird, wenn ein Objekt erstellt wird. Diese werden verwendet, um das Objekt mit Werten oder Standardeinstellungen zu initialisieren.

Während Standardargumente in C++ die Angabe von Standardwerten für Funktions- oder Konstruktorparameter ermöglichen.

Konstruktor mit Standardargumenten

Ein Konstruktor mit Standardargumenten ist ein Konstruktor, der die Erstellung eines Objekts mithilfe optionaler Parameter ermöglicht. Wo die Standardwerte für die Parameter bereitgestellt werden. Wenn der Benutzer also keine Werte übergibt, wird der Standardwert verwendet.

Syntax

Hier ist die Syntax für den Konstruktor mit Standardargumenten:

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

Beispiel eines Konstruktors mit Standardargumenten

Hier ist das folgende Beispiel für einen Konstruktor mit Standardargumenten:

#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;
}

Ausgabe

Hello, Tutorialspoint Learner
Hi, there!

Erklärung

Konstruktor mit mehreren Standardargumenten

Ein Konstruktor mit mehreren Standardargumenten gibt dem Benutzer Zugriff auf die Angabe von Standardwerten für mehr als einen Parameter. Dies bietet mehr Flexibilität und Zugriff auf die Übergabe beliebiger Kombinationen von Argumenten.

Beispiel

Hier ist das folgende Beispiel für einen Konstruktor mit mehreren Standardargumenten:

#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;
}

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

Hauptfunktionen von Konstruktoren mit Standardargumenten

Obwohl es regulären Funktionen ähnelt, bietet es mehr Flexibilität und Komfort beim Erstellen von Objekten.

Im Folgenden werden wir alle wichtigen Funktionen besprechen.

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

Hier kann der Konstruktor Standardwerte für einen oder mehrere Parameter haben, die verwendet werden können, wenn vom Aufrufer kein Argument bereitgestellt wird, und mehrere Möglichkeiten zum Erstellen eines Objekts ermöglichen.

2. Vermeidung mehrerer Konstruktorüberladungen

Möglicherweise müssen Sie den Konstruktor für jede Kombination von Argumenten laden, was den Code umfangreicher macht, aber mit Standardargumenten kann der Konstruktor einmal geschrieben werden und er verarbeitet verschiedene Fälle automatisch.

3. Reihenfolge der Standardargumente

Bei mehreren Standardwertparametern können Sie die Standardargumente in der Mitte nicht überspringen, sobald Sie von rechts aus mit der Bereitstellung von Standardwerten beginnen.

Syntax

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

4. Standardargumente können mit Const-Mitgliedern verwendet werden

Wenn Ihre Klasse über konstante Mitglieder verfügt, können im Konstruktor Standardargumente bereitgestellt werden, um die Initialisierung zu vereinfachen.

Syntax

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

Dieser Konstruktor verwendet Standardargumente (Länge =5 und Breite =10), um die const-Mitglieder zu initialisieren.


C Sprache

  1. C#-Foreach-Schleife
  2. C# - Vererbung
  3. C#-Tutorial zu IF-, Switch-, For- und While-Schleifenanweisungen [Beispiele]
  4. Unterschied zwischen while und do-while:An Beispielen erklärt
  5. C#-switch-Anweisung
  6. C - Variable Argumente
  7. malloc() Funktion in der C-Bibliothek mit BEISPIEL
  8. Beherrschen von Zeigern und mehrdimensionalen Arrays in C
  9. C++ while und do...while Schleife
  10. C++ Basic Input/Output:Cout, Cin, Cerr Beispiel