Heim >Backend-Entwicklung >C++ >Wie trennt man Klassendeklarationen und Member-Funktionsimplementierungen in C-Header- und Quelldateien?

Wie trennt man Klassendeklarationen und Member-Funktionsimplementierungen in C-Header- und Quelldateien?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-26 05:46:11856Durchsuche

How to Separate Class Declarations and Member Function Implementations in C   Header and Source Files?

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!

Stellungnahme:
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