Maison > développement back-end > C++ > Comment séparer les déclarations de classe et les implémentations de fonctions membres dans les fichiers d'en-tête et source C ?

Comment séparer les déclarations de classe et les implémentations de fonctions membres dans les fichiers d'en-tête et source C ?

Patricia Arquette
Libérer: 2024-12-26 05:46:11
original
790 Les gens l'ont consulté

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

Séparation des déclarations de classe et des implémentations de fonctions membres dans les fichiers d'en-tête et source

Lorsque vous travaillez avec des programmes C complexes, il devient nécessaire de séparer les déclarations d'une classe et de ses implémentations de fonctions membres dans des fichiers séparés à des fins d'organisation et de maintenance. Cet article aborde la question courante de savoir comment réaliser cette séparation.

Problème :

Considérons la classe suivante :

class A2DD
{
  private:
  int gx;
  int gy;

  public:
  A2DD(int x,int y);
  int getSum();
};
Copier après la connexion

Comment pouvons-nous séparer la déclaration de cette classe et les implémentations de fonctions membres dans un fichier d'en-tête et une source fichier ?

Solution :

Étape 1 : Créer un fichier d'en-tête :

Le fichier d'en-tête, généralement nommé avec le l'extension ".h", contient la déclaration de classe. Pour éviter plusieurs erreurs d'inclusion, des gardes d'inclusion sont utilisés :

// A2DD.h
#ifndef A2DD_H
#define A2DD_H

class A2DD
{
  int gx;
  int gy;

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

};

#endif
Copier après la connexion

Étape 2 : Créer un fichier source :

Le fichier source, généralement nommé avec l'extension " .cpp", contient l'implémentation des fonctions membres :

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

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

int A2DD::getSum()
{
  return gx + gy;
}
Copier après la connexion

Dans le fichier d'en-tête, notez l'absence du mot clé "private". Par défaut, les membres de la classe en C sont privés. Les gardes #include garantissent que le fichier d'en-tête n'est pas inclus plusieurs fois, évitant ainsi les erreurs de compilation.

Cette approche vous permet de gérer facilement l'interface et l'implémentation de votre classe séparément, améliorant ainsi la lisibilité et la maintenabilité du code.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal