Heim >Backend-Entwicklung >C++ >Wie trennt man Klassendeklarationen und Member-Funktionsimplementierungen in C-Header- und Quelldateien?
Klassendeklarationen und Member-Funktionsimplementierungen in Header- und Quelldateien trennen
Bei der Arbeit mit komplexen C-Programmen ist es notwendig, die Deklarationen zu trennen einer Klasse und ihrer Mitgliedsfunktionsimplementierungen in separate Dateien für Organisations- und Wartungszwecke. Dieser Artikel befasst sich mit der häufig gestellten Frage, wie diese Trennung erreicht werden kann.
Problem:
Betrachten Sie den folgenden Kurs:
class A2DD { private: int gx; int gy; public: A2DD(int x,int y); int getSum(); };
Wie machen wir Trennen Sie die Deklarations- und Mitgliedsfunktionsimplementierungen dieser Klasse in eine Header-Datei und eine Quelle Datei?
Lösung:
Schritt 1: Erstellen Sie eine Header-Datei:
Die Header-Datei, normalerweise benannt mit Erweiterung „.h“, enthält die Klassendeklaration. Um mehrere Einschlussfehler zu verhindern, werden Include-Schutzvorrichtungen verwendet:
// A2DD.h #ifndef A2DD_H #define A2DD_H class A2DD { int gx; int gy; public: A2DD(int x,int y); int getSum(); }; #endif
Schritt 2: Erstellen Sie eine Quelldatei:
Die Quelldatei, normalerweise mit der Erweiterung „ .cpp“ enthält die Implementierung der Mitgliedsfunktionen:
// A2DD.cpp #include "A2DD.h" A2DD::A2DD(int x,int y) { gx = x; gy = y; } int A2DD::getSum() { return gx + gy; }
Beachten Sie in der Header-Datei das Fehlen des Schlüsselworts „private“. Standardmäßig sind Klassenmitglieder in C privat. Die #include-Schutzvorrichtungen stellen sicher, dass die Header-Datei nicht mehrfach eingebunden wird, und verhindern so Kompilierungsfehler.
Mit diesem Ansatz können Sie die Schnittstelle und Implementierung Ihrer Klasse einfach separat verwalten und so die Lesbarkeit und Wartbarkeit des Codes verbessern.
Das obige ist der detaillierte Inhalt vonWie trennt man Klassendeklarationen und Member-Funktionsimplementierungen in C-Header- und Quelldateien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!