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(); };
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
É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; }
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!