
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!
Ripple a-t-il toujours une valeur d'investissement ?
Solution en cas d'échec de session
Qu'est-ce que le courrier électronique
La différence entre le masquage et le démasquage des caractères génériques
Que sont les plug-ins jquery ?
tutoriel d'exécution de code c++
Solution au rapport Java indiquant que les entrées du chemin de construction sont vides
Quelles sont les méthodes pour empêcher l'injection SQL ?