Maison >développement back-end >C++ >Comment séparer la déclaration de classe et l'implémentation dans les fichiers d'en-tête C et source ?

Comment séparer la déclaration de classe et l'implémentation dans les fichiers d'en-tête C et source ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-24 13:48:11425parcourir

How to Separate Class Declaration and Implementation in C   Header and Source Files?

Séparer la déclaration de classe et l'implémentation dans les fichiers d'en-tête et source

Le stockage des déclarations de classe et des implémentations de fonctions membres dans des fichiers d'en-tête et source séparés est essentiel pour programmation modulaire et bien structurée. Prenons, par exemple, la classe A2DD suivante :

class A2DD
{
private:
  int gx;
  int gy;

public:
  A2DD(int x, int y);
  int getSum();
};

Déclaration de classe dans le fichier d'en-tête

Pour séparer la déclaration de classe de son implémentation, créez un fichier d'en-tête nommé A2DD.h, qui contient uniquement la déclaration de classe sans l'implémentation des fonctions membres. Il doit inclure des gardes pour empêcher les inclusions multiples :

// A2DD.h
#ifndef A2DD_H
#define A2DD_H

class A2DD
{
public:
  int gx;
  int gy;

public:
  A2DD(int x, int y);
  int getSum();
};

#endif

Notez que comme les membres de la classe C sont privés par défaut, nous avons omis le spécificateur d'accès privé.

Implémentation de la fonction membre dans le fichier source

Ensuite, créez un fichier source correspondant nommé A2DD.cpp qui contient les implémentations du membre fonctions :

// A2DD.cpp
#include "A2DD.h"

A2DD::A2DD(int x, int y)
{
  gx = x;
  gy = y;
}

int A2DD::getSum()
{
  return gx + gy;
}

Le fichier d'en-tête A2DD.h doit être inclus dans le fichier source A2DD.cpp pour fournir les définitions nécessaires.

En séparant la déclaration de classe et l'implémentation en différents fichiers , vous pouvez gérer efficacement les définitions de classe et réduire le temps de compilation. Cette approche favorise la maintenabilité du code, la réutilisabilité et la collaboration entre les développeurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn