Parametrisierter Konstruktor in C++: Arbeiten & Beispiele

Veröffentlicht: 2021-05-27

Inhaltsverzeichnis

Was ist Konstruktor?

Ein Konstruktor ist die Mitgliedsfunktion einer Klasse, die verwendet wird, um Objekte in einer Klasse zu initialisieren. Wenn in C++ ein Objekt erstellt wird, das die Instanz der Klasse ist, wird der Konstruktor automatisch aufgerufen. Ein Konstruktor ist also eine spezielle Elementfunktion der Klasse.

Was ist ein parametrisierter Konstruktor?

Argumente können an Konstruktoren übergeben werden. Wenn ein Objekt erstellt wird, helfen diese Argumente bei der Initialisierung eines Objekts. Um einen parametrisierten Konstruktor in C++ zu erstellen , können wir einer Funktion Parameter hinzufügen, wie sie jeder anderen Funktion hinzugefügt werden können. Wenn der Hauptteil des Konstruktors definiert ist, werden die Parameter verwendet, um das Objekt zu initialisieren.

Syntax des parametrisierten Konstruktors in C++

Klassenname_der_Klasse{

Zugriffsbezeichner (öffentlich/geschützt/privat):

Mitgliedsvariablen

Mitgliedsfunktionen

öffentlich zugänglich:

name_of_class(variables){ //Code für Konstruktor

}

// andere Funktionen und Variablen

}

Die Syntax umfasste name_of_class, gefolgt von einem Zugriffsbezeichner, der Mitgliedsfunktionen und Mitgliedsvariablen enthält. All dies ist im Konstruktorcode enthalten, was bedeutet, dass es im Körper des Konstruktors aufgerufen werden kann.

Lesen Sie auch: Open-Source-Projekte für C++

Beispiel eines parametrisierten Konstruktors in C++

#include <iostream>

mit Namensraum std;

Klasse Beispiel

{

Privat:

int a, b;

öffentlich zugänglich:

// Parametrisierter Konstruktor

Beispiel(int a1, int b1)

{

a = a1;

b = b1;

}

int getA()

{

gib a zurück;

}

int getB()

{

Rückkehr b;

}

};

int Haupt()

{

// Aufruf des Konstruktors

Beispiel e1(5, 10);

cout << „e1.a = ” << e1.getA() << “, e1.b = ” << e1.getB();

0 zurückgeben;

}

Ausgabe

Erläuterung: Die privaten Variablen a und b sind in der Klasse Example deklariert. Ein parametrisierter Konstruktor wird mit der Funktion Example deklariert. Es enthält zwei Methoden getA() und getB(). In der Hauptklasse wird der Konstruktor aufgerufen und die Zugriffswerte des Konstruktors zugewiesen.

Wie funktioniert der parametrisierte Konstruktor in C++?

Ein Objekt wird initiiert, das Werte oder die Details und Parameter enthält, die das Objekt verarbeitet oder enthält, wenn ein parametrisierter Konstruktor in C++ definiert wird. Dann können Argumente an dieses Objekt übergeben werden. Das Verfahren ist dem Übergeben eines Werts an eine Funktion sehr ähnlich. Es hat auch eine Ähnlichkeit mit der Übergabe parametrisierter Werte an die Objekte.

Die Objekte, die im Rumpf des Konstruktors definiert sind, werden mit den Parametern initialisiert. Die Werte sollten immer dann als Argumente an die Konstruktorfunktion übergeben werden, wenn ein parametrisierter Konstruktor deklariert wird. Diese Konstruktoren können sowohl explizit als auch implizit aufgerufen werden. Die herkömmliche Art der Objektdeklaration funktioniert nicht.

Hinweis: Anrufarten-

  1. Expliziter Aufruf – Beispiel e1= Beispiel(0,10)
  2. Impliziter Aufruf – Beispiel e1(0,10)

Checkout: Projektideen in C++ für Anfänger

Was ist die Verwendung von parametrisierten Konstruktoren in C++?

Die Verwendung von parametrisierten Konstruktoren ist wie folgt:

  • Überladen des Konstruktors
  • Wird verwendet, um den verschiedenen Datenelementen verschiedener Objekte unterschiedliche Werte zuzuweisen, wenn sie initialisiert/erstellt werden

Ein anderes Beispiel:

1. Programm zur Berechnung der Fläche eines Rechtecks

#include <iostream>

mit Namensraum std;

// eine Klasse deklarieren

Klasse Rechteck {

Privat:

doppelte Länge;

doppelte Breite;

öffentlich zugänglich:

// Erstellen eines parametrisierten Konstruktors

Rechteck (Doppellänge, Doppelbreite) {

// private Variablen initialisieren

Länge = Länge;

Breite = brt;

}

double computeArea() {

Rücklauflänge * Breite;

}

};

int Haupt() {

// Objekte erstellen und Datenelemente initialisieren

Rechteck rect1(10, 8.6);

Rechteck rect2(8.5, 6);

cout << „Fläche von Rechteck 1: ” << rect1.calculateArea() << endl;

cout << „Fläche von Rechteck 2: ” << rect2.calculateArea() << endl;

0 zurückgeben;

}

Ausgabe

Erläuterung: In diesem Beispiel haben wir einen parametrisierten Konstruktor Rectect() mit zwei Parametern erstellt: double len und double bdt. Diese Parameter enthalten Werte, die zum Initialisieren der Elementvariablen length und width verwendet werden. Wenn wir ein Objekt der Rectangle-Klasse erstellen, übergeben wir die Werte der Mitgliedsvariablen als Argumente. Wir können die Fläche mit der Funktion computeArea() berechnen, wenn die Member-Variablen initialisiert werden.

1. Noten von Schülern anzeigen

#include <iostream>

mit Namensraum std;

Klasse Schüler {

öffentlich zugänglich:

int std_id;//Datenelement

string std_name;//auch Instanzvariable

float std_marks;

Student(int i, string a, float b)

{

std_id = ich;

Standardname = a;

std_marks = b;

}

ungültige Anzeige ()

{

cout<<std_id<<” “<<std_name:<<” “<<std_marks <<endl;

}

};

int Haupt(leer) {

Schüler s1 =Student(101, „Soniya“, 89); // Erstellen eines Schülerobjekts

Schüler s2=Student(102, „Nakul“, 59);

s1.display();

s2.display(); 0 zurückgeben;

}

Ausgabe

Erläuterung: id, name und markers sind Datenelemente (auch Instanzvariablen). Ein Student ist ein parametrisierter Konstruktor, und seine Objekte werden in der Hauptklasse erstellt.

Lernen Sie Softwareentwicklungskurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Fazit

Konstruktoren sind nur spezielle Arten von Methoden, in denen wir Werte übergeben können. Wenn wir keine Werte an den Konstruktor übergeben, hat das Endobjekt einen Standardwert. [1] [MOU2] Die Objekte enthalten die Methoden und Werte von Mitgliedsvariablen, die Teil der Hauptklasse sind. Diese Werte werden schließlich über Konstruktoren übergeben. Ein parametrisierter Konstruktor in C++ hat den Vorteil, dass er verschiedenen Objekten unterschiedliche Werte zuweist und es zu Überladungen kommen kann.

Jetzt, da Sie die parametrisierten Konstruktoren in C++ kennen, sollten Sie, wenn Sie tiefer graben und in Ihrer Programmierkarriere aufsteigen möchten, Kurse von upGrad, Indiens größtem Online-Hochschulbildungsunternehmen, erkunden. Sie müssen unser Full-Stack-Softwareentwicklungsprogramm überprüfen .

Was ist ein Konstruktor?

Konstruktor ist eine spezielle Methode in einer Klasse, die den gleichen Namen wie die Klasse hat. Das Besondere daran ist, dass diese Methode automatisch aufgerufen wird, wenn eine Klasse erstellt (instanziiert) wird. Wenn ein Konstruktor keine Argumente hat, wird die Klasse mit leeren Werten instanziiert. Der Konstruktor führt Initialisierungsaufgaben aus und initialisiert die Instanzvariablen der Klasse. Der Hauptzweck des Konstruktors besteht darin, die Werte der Eigenschaften des Objekts festzulegen. Es wird auch verwendet, um Operationen auszuführen, die nur einmal ausgeführt werden müssen. Der Konstruktor wird normalerweise als öffentliche Statik in der Klasse deklariert und das Objekt wird mit diesem Konstruktor erstellt.

Wie viele Konstruktoren kann es in einer Klasse geben?

Wenn wir über C++ sprechen, dann ist die Anzahl der Konstruktoren unbegrenzt. Es kann jedoch aus anderen Gründen wie der Speicherbegrenzung Ihres Computers, der Komplexität der Klasse usw. andere Einschränkungen geben. Daher ist die Anzahl der Konstruktoren unbegrenzt, die Anzahl der Konstruktorparameter jedoch nicht. Es können beliebig viele Konstruktoren in einer Klasse vorhanden sein. Aber der Standardkonstruktor ist ein Muss. Jede Klasse, die keinen Standardkonstruktor hat, ist eine abstrakte Klasse. Abstrakte Klasse kann nicht instanziiert werden.

Was ist objektorientierte Programmierung?

Objektorientierte Programmierung ist ein Programmierparadigma, das „Objekte“ als grundlegende Bausteine ​​eines Programms oder Computersystems behandelt. Objekte sind Softwareentitäten, die Daten in Form von Feldern enthalten können, die oft als Attribute bezeichnet werden; und Code in Form von Prozeduren, die oft als Methoden bezeichnet werden. Die objektorientierte Programmierung konzentriert sich auf Daten und die sie umgebenden Regeln, anstatt sich auf die prozedurale Logik oder den Kontrollfluss zu konzentrieren, wie es in frühen Programmiersprachen üblich war. OOP behandelt Daten als Ganzes und nicht als eine Reihe einzelner Elemente.