Heim > Backend-Entwicklung > C++ > Hauptteil

Wie rufe ich einen Basisklassenkonstruktor mit Argumenten in C auf?

DDD
Freigeben: 2024-11-22 13:39:24
Original
760 Leute haben es durchsucht

How Do I Call a Base Class Constructor with Arguments in C  ?

Aufrufen des Basisklassenkonstruktors in C

Im Gegensatz zum Java-Schlüsselwort super(), das zum Aufrufen des Basisklassenkonstruktors verwendet wird, bietet C einen anderen Mechanismus . Sehen wir uns an, wie man den Basisklassenkonstruktor mit Argumenten in C aufruft.

Problem:

Stellen Sie sich eine C-Klasse mit einem Standardkonstruktor vor, der Argumente akzeptiert, wie zum Beispiel:

class BaseClass {
public:
    BaseClass(char *name);
    .... 
};
Nach dem Login kopieren

Beim Erben von dieser Klasse wird möglicherweise eine Warnung angezeigt, dass kein geeigneter Standardwert vorhanden ist Konstruktor.

Lösung:

C ermöglicht den Aufruf des Basisklassenkonstruktors innerhalb der Initialisierungsliste des Konstruktors der Unterklasse. Hier ist ein Beispiel:

class Foo : public BaseClass {
public:
    Foo() : BaseClass("asdf") {}
};
Nach dem Login kopieren

Wenn in diesem Beispiel der Foo-Konstruktor aufgerufen wird, initialisiert er die Basisklasse BaseClass mithilfe des Konstruktors, der ein Zeichenzeigerargument akzeptiert und die Zeichenfolge „asdf“ als Argument übergibt.

Zusätzlicher Hinweis:

Basisklassenkonstruktoren, die Argumente erfordern, müssen in der Initialisierungsliste aufgerufen werden, bevor Mitglieder der Unterklasse initialisiert werden.

Das obige ist der detaillierte Inhalt vonWie rufe ich einen Basisklassenkonstruktor mit Argumenten in C auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage