Klassentypobjekte

Ein Objekt ist ein typisierter Bereich des Arbeitsspeichers in der Ausführungsumgebung. Zusätzlich zum Beibehalten von Zustandsinformationen, definiert jedoch auch Verhalten.Klassentyp Objekte werden mithilfe des Klassennamensdefiniert.Betrachten Sie das folgende Codefragment:

// class_type_objects.cpp
class Account
{
public:
   Account()   // Default constructor
   {
   }
   Account( double );   // Construct from double.
   double& Deposit( double );
   double& Withdraw( double, int );
};

int main()
{
   Account CheckingAccount;   // Define object of class type.
}

Der vorhergehende Code deklariert eine Klasse einen neuen Typ () mit der Bezeichnung Account.Anschließend werden mit diesen neuen Typ, ein Objekt zu definieren, das CheckingAccountaufgerufen wird.

Die folgenden Vorgänge werden von C++ für Objekte des Klassentyps definiert:

  • Zuweisung.Ein Objekt kann auf andere zugewiesen werden.Das Standardverhalten für diesen Vorgang ist eine memberspezifische Kopie.Dieses Verhalten kann geändert werden, indem Sie einen benutzerdefinierten Zuweisungsoperator angibt.

  • Initialisierung mit Kopierkonstruktoren.

Nachfolgend finden Sie Beispiele für die Initialisierung Using Custom Kopierkonstruktoren:

  • Die explizite Initialisierung eines Objekts.Beispiele:

    Point myPoint = thatPoint;
    

    deklariert myPoint als Objekt des Typs Point und initialisiert es mit dem Wert von thatPoint.

  • Initialisierung verursacht durch die Übergabe als Argument.Objekte können Funktionen als Wert oder als Verweis übergeben werden.Wenn sie durch einen Wert übergeben werden, wird eine Kopie jedes Objekts an die Funktion übergeben.Die Standardmethode zum Erstellen der Kopie ist memberspezifische Kopie. Dies kann geändert werden, indem Sie einen benutzerdefinierten Kopierkonstruktor angibt (einen Konstruktor, der ein einzelnes Argument vom Typ „Verweis auf die Klasse“ hat).

  • Initialisierung verursacht durch die Initialisierung von Rückgabewerten von Funktionen.Objekte können mithilfe von Funktionen als Wert oder als Verweis zurückgegeben werden.Die Standardmethode für die Rückgabe eines Objekts als Wert ist eine memberspezifische Kopie. Dies kann geändert werden, indem Sie einen benutzerdefinierten Kopierkonstruktor angibt.Ein Objekt, das als Verweis zurückgegeben wird (mithilfe des Zeigers oder Referenztypen) darf nicht der aufgerufenen Funktion automatisch und lokal sein.Wenn dies der Fall ist, ist das Objekt, das von den Rückgabewert verweist, aus dem Bereich erloschen, bevor es verwendet werden kann.

Überladene Operatoren erklärt, wie andere Operatoren auf Basis einer Klasse-durch Klasse neu definiert.

Siehe auch

Referenz

Übersicht über Klassen