C++-Klassenkonstruktoren

C Class Constructors



Konstruktoren sind wie Funktionen. Diese werden verwendet, um die Werte und die Objekte der Klasse zu initialisieren. Diese Konstruktoren werden initiiert, wenn das Objekt einer Klasse erstellt wird. Der Konstruktor gibt keinen Wert direkt zurück. Um den Wert des Konstruktors zu erhalten, müssen wir eine separate Funktion beschreiben, da der Konstruktor keinen Rückgabetyp hat. Constructor unterscheidet sich in verschiedener Weise von der einfachen Funktion. Ein Konstruktor wird erstellt, wenn das Objekt generiert wird. Es wird im öffentlichen Segment der Klasse definiert.

In diesem Artikel werden wir all diese Arten von Konstruktoren anhand von Beispielen behandeln.







Beispiel 1

Dies ist eine Illustration eines Standardkonstruktors. Wie wir wissen, werden die Konstruktoren standardmäßig automatisch erstellt, wenn wir ein Objekt einer Klasse erstellen. Dies wird als implizite Erstellung bezeichnet. Konstruktoren haben denselben Namen wie die Klasse. Betrachten Sie eine Datei mit dem c++-Code des Konstruktors, da wir wissen, dass die Klasse zwei Optionen hat, private und öffentliche. Der private Teil enthält die Datenvariablen, während der öffentliche Teil für die Funktionen dient, die von einem beliebigen Objekt abgerufen werden. Der Konstruktor wird also auch im öffentlichen Teil definiert.



Ganze Zahl()

{

x=fünfzig;

und=zwanzig;

};

In diesem Konstruktor werden den Variablen Werte zugewiesen. Wenn wir die Werte als Ausgabe holen wollen, müssen wir sie im Hauptprogramm ausgeben.







Nach der Definition des Konstruktors wird die Klasse geschlossen. Beim Aufrufen des Hauptprogramms werden die Werte mithilfe eines Objekts gedruckt. Das Objekt greift immer auf Konstruktoren zu, da diese die Teile der Klasse sind. Die Objekterstellung ist so einfach. Dies geschieht durch Einführung mit dem Namen der Klasse. Das ist in diesem Beispiel eine ganze Zahl. Der Wert wird über die Punktmethode abgerufen. d.h. a.x.

Wir können die Ausgabe des Quellcodes vom Terminal in Ubuntu sehen. Der Ansatz zum Abrufen der Ausgabe ist recht einfach. Zuerst wird der Code kompiliert und dann ausgeführt. Für den Kompilierungsprozess verwenden wir den G++-Compiler. Genau wie bei C verwenden wir GCC.



$ G++ -oder filec filec.C

./Dateic

-O wird verwendet, um die Ausgabe in der Datei zu speichern.

Beispiel 2

In dieser Abbildung erklären wir die parametrisierten Konstruktoren. Im Gegensatz zum vorherigen Beispiel können wir die Argumente auch aus dem Hauptprogramm an die Konstruktoren übergeben. Beim Generieren des Objekts werden diese Werte automatisch an die im Konstruktor vorhandenen Variablen übergeben, um den Wert zu erhalten. Einige der Verwendungen von parametrisierten Konstruktoren sind.

  • Es wird verwendet, um verschiedene Variablen mit unterschiedlichen Werten innerhalb der Konstruktoren zu initialisieren, wenn es initialisiert wird.
  • Es wird beim Überladen von Konstruktoren verwendet. Es wird später im Artikel definiert.

Betrachten wir nun die Illustration, die wir beschrieben haben, um dieses Konzept auszuarbeiten. Die Klasse hat den Namen Integer, also wird der Name des Konstruktors auf jeden Fall gleich sein. In den Parametern des Konstruktors gibt es zwei Werte vom Typ Integer. Diese werden initialisiert, um die Werte zu akzeptieren, die vom Hauptprogramm als Funktionsaufruf gesendet werden.

Ganze Zahl( intx,intund)

{

ZU=x;

B=und;

};

Im vorherigen Beispiel wurden den Variablen im Konstruktor die Werte zugewiesen. Während in diesem Konstruktor Variablen mit den Variablen mit dem Wert zugewiesen werden.

Wenn wir anzeigen möchten, müssen wir eine Funktion definieren, die den Wert zurückgibt, da es nicht möglich ist, direkt vom Konstruktor auf diese initialisierte Variable zuzugreifen.

intgetX()

{

Rückkehrzu;

};

Jetzt sehen wir den Hauptteil des Programms. Hier sehen Sie beim Anlegen des Objekts die Werte im Parameterbereich.

Ganzzahl v(70,55); {implizit}

ganze Zahl v=ganze Zahl(10,fünfzehn); {explizit}

Und um das Ergebnis anzuzeigen, rufen wir die innerhalb der Klasse erstellten Funktionen mit dem Objekt auf. d.h. v.getx().

Die Methode zum Abrufen von Datensätzen ist dieselbe wie zuvor.

Beispiel 3

Dieses Beispiel behandelt das Kopieren eines Konstruktors einer Klasse. Ein kopierter Konstruktor wird verwendet, um das Objekt mit einem anderen Objekt einer ähnlichen Klasse zu initialisieren, zu der es gehört. Dieser Konstruktor kopiert die in einem Objekt vorhandenen Daten in das andere. Die Parameter dieses Konstruktors enthalten die Adresse eines Objekts der Klasse. Betrachten Sie die gegebenen Beispiele, in denen wir zwei Variablen des gleichen Datentyps eingeführt haben, damit diese von jeder Funktion innerhalb der Klasse zugreifen können. Der Konstruktor erhält die Werte über die Variable. Gleichzeitig erhält der kopierte Konstruktor nur das Objekt. Und mit Hilfe dieses Objekts werden die Werte geholt.

Mauer(Mauer&obj)

{

Länge=obj.Länge;

Höhe=obj.Höhe;

}

Wir müssen die Fläche berechnen, daher ist die Funktion für diese Berechnung hier definiert. Dies gibt den Wert an die Hauptfunktion zurück, wenn sie aufgerufen wird. Jetzt werden wir das Hauptprogramm des Codes beobachten

Der Funktionsaufruf des kopierten Konstruktors sieht so aus.

Wand Wand2=Wand1;

Das Objekt ruft den kopierten Konstruktor auf, und die Daten durch das erste Objekt werden durch ihn kopiert. Außerdem rufen wir die Funktion auf, um die Fläche durch beide Objekte zu berechnen.

In der Ausgabe können Sie sehen, dass das Ergebnis beider Konstruktoren gleich ist. Dies bedeutet, dass die gesamten Daten vom Objekt erfolgreich kopiert wurden.

Beispiel 4

Dies ist ein Beispiel für das Überladen von Konstruktoren. Es passiert, wenn wir mehr als eine einzelne Funktion innerhalb der Klasse verwenden müssen. Das Überladen von Konstruktoren folgt den Anweisungen von parametrisierten Konstruktoren. Alle Konstruktoren in der Klasse haben einen ähnlichen Namen wie die Klasse. Aber jedem der Konstruktoren werden andere Parameter zugewiesen. Jeder Konstruktor wird entsprechend dem Argument aufgerufen, wenn wir das Objekt erstellen.

Betrachten Sie das gegebene Beispiel, in dem wir drei Konstruktoren verwendet haben. Einer ist ohne Argumente. Der zweite ist mit einem einzigen Argument, während der dritte mit zwei Argumenten ist. Diese Abbildung ähnelt der vorherigen. Wie wir die Fläche in der separaten Funktion berechnen, die innerhalb der Klasse beschrieben wird.

// Konstruktor mit zwei Argumenten

Form(intx,intund)

{

zu=x;

B=und;

};

Wenn wir uns nun dem Hauptprogramm zuwenden, können wir sehen, dass beim Initiieren des Klassenobjekts standardmäßig der Konstruktor ohne Argument aufgerufen wird. Jetzt müssen wir andere Konstruktoren mit unterschiedlichen Objekten mit unterschiedlichen Argumenten aufrufen.

Form s;

Form s2(8);

Form s3(4,2);

Die Funktion, über die wir den Wert anzeigen können, wird über dasselbe erstellte Objekt aufgerufen.

Um die Ausgabe anzuzeigen, verwenden wir dieselbe Befehlsterminalmethode, indem wir den in der Datei vorhandenen Code kompilieren und ausführen.

Aus der Ausgabe können wir sehen, dass die Antwort für jeden Konstruktor gleich ist.

Abschluss

In diesem Tutorial haben wir die Grundlagen von Konstruktoren und deren Funktionalitäten kennengelernt, einschließlich ihrer Überladung. Konstruktoren werden verwendet, um die Variablen mit den Werten zu initialisieren.