Maison >développement back-end >C++ >Comment définir et implémenter des interfaces en C ?

Comment définir et implémenter des interfaces en C ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-04 06:22:40359parcourir

How to Define and Implement Interfaces in C  ?

Développement de la déclaration d'interface 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!

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