Maison >développement back-end >C++ >Comment définir et implémenter des interfaces en C ?
Question originale : Comment définir une classe représentant une interface ?
Réponse étendue : Une interface en C est en effet une classe de base abstraite. Cependant, il existe une exception à considérer.
Pour garantir un transfert de propriété approprié sans révéler la classe dérivée concrète, il est recommandé d'inclure un destructeur virtuel dans l'interface. Ce destructeur ne nécessite pas d'implémentation, car l'interface n'a pas de membres spécifiques.
Exemple de code :
class IDemo { public: virtual ~IDemo() {} virtual void OverrideMe() = 0; }; class Parent { public: virtual ~Parent(); }; class Child : public Parent, public IDemo { public: virtual void OverrideMe() override { // Custom implementation } };
Dans cet exemple, le parent et l'enfant hérite d'IDemo, et Child fournit une implémentation concrète pour la fonction OverrideMe.
Notez que même s'il peut sembler inhabituel de définir une fonction virtuelle comme en ligne, cette la pratique est généralement considérée comme sûre et bénéfique pour l’optimisation.
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!