BESTE WEBSITE FÜR WEBENTWICKLER

C++ Lernprogramm

C++ HEIM C++ Einführung C++ Loslegen C++ Syntax C++ Ausgabe C++-Kommentare C++-Variablen C++-Benutzereingabe C++-Datentypen C++ Betreiber C++-Strings C++ Math C++ Booleans C++-Bedingungen C++ Switch C++ While-Schleife C++ For-Schleife C++ Break/Continue C++-Arrays C++-Strukturen C++-Aufzählungen C++-Referenzen C++ Hinweise

C++ Funktionen

C++-Funktionen C++-Funktionsparameter Überladen von C++-Funktionen C++-Bereich C++-Rekursion

C++-Klassen

C++ OOP C++-Klassen/Objekte C++-Klassenmethoden C++-Konstruktoren C++-Zugriffsspezifizierer C++-Kapselung C++-Vererbung C++-Polymorphismus C++-Dateien C++-Ausnahmen C++-Datum

C++ Wie man

Zwei Zahlen hinzufügen Zufallszahlen

C++-Referenz

C++-Referenz C++-Schlüsselwörter C++ <iostream> C++ <fstream> C++ <cmath> C++ <string> C++ <cstring> C++ <ctime>

C++-Beispiele

C++-Beispiele C++-Compiler C++-Übungen C++-Quiz C++-Zertifikat

C++ Sprache. W3Schools auf Deutsch. Unterricht für Anfänger

Ua En Es

C++ Konstrukteure


Konstrukteure

Ein Konstruktor in C++ ist eine spezielle Methode, die automatisch aufgerufen wird, wenn ein Objekt einer Klasse erstellt wird.

Um einen Konstruktor zu erstellen, verwenden Sie denselben Namen wie die Klasse, gefolgt von Klammern ():

Beispiel

class MyClass {     // Die Klasse
  public:           // Zugriffsspezifizierer
    MyClass() {     // Konstruktor
      cout << "Hello World!";
    }
};

int main() {
  MyClass myObj;    // Erstellen Sie ein Objekt von MyClass (dadurch wird der Konstruktor aufgerufen)
  return 0;
}
Try it Yourself »

Hinweis: Der Konstruktor hat den gleichen Namen wie die Klasse, er ist immer public und hat keinen Rückgabewert.


Konstruktorparameter

Konstruktoren können auch Parameter annehmen (genau wie normale Funktionen), was zum Festlegen von Anfangswerten für Attribute nützlich sein kann.

Die folgende Klasse verfügt über die Attribute brand, model und year sowie einen Konstruktor mit unterschiedlichen Parametern. Im Konstruktor setzen wir die Attribute gleich den Konstruktorparametern (brand=x, etc.). Wenn wir den Konstruktor aufrufen (indem wir ein Objekt der Klasse erstellen), übergeben wir Parameter an den Konstruktor, der den Wert der entsprechenden Attribute auf denselben setzt:

Beispiel

class Car {        // Die Klasse
  public:          // Zugriffs-Spezifizierer
    string brand;  // Attribut
    string model;  // Attribut
    int year;      // Attribut
    Car(string x, string y, int z) { // Konstruktor mit Parametern
      brand = x;
      model = y;
      year = z;
    }
};

int main() {
  // Erstellen von Car-Objekten und Aufrufen des Konstruktors mit unterschiedlichen Werten
  Car carObj1("BMW", "X5", 1999);
  Car carObj2("Ford", "Mustang", 1969);

  // Werte drucken
  cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
  cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
  return 0;
}
Try it Yourself »

Genau wie Funktionen können Konstruktoren auch außerhalb der Klasse definiert werden. Deklarieren Sie zuerst den Konstruktor innerhalb der Klasse und definieren Sie ihn dann außerhalb der Klasse, indem Sie den Namen der Klasse angeben, gefolgt von dem Operator scope resolution ::, gefolgt vom Namen des Konstruktors (der mit der Klasse identisch ist):

Beispiel

class Car {        // Die Klasse
  public:          // Zugriffs-Spezifizierer
    string brand;  // Attribut
    string model;  // Attribut
    int year;      // Attribut
    Car(string x, string y, int z); // Deklaration des Konstruktors
};

// Konstruktordefinition außerhalb der Klasse
Car::Car(string x, string y, int z) {
  brand = x;
  model = y;
  year = z;
}

int main() {
  // Erstellen von Car-Objekten und Aufrufen des Konstruktors mit unterschiedlichen Werten
  Car carObj1("BMW", "X5", 1999);
  Car carObj2("Ford", "Mustang", 1969);

  // Werte drucken
  cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
  cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
  return 0;
}
Try it Yourself »


Kommentare