Fonction + Ajout dans la fonction d'une classe hérité [Résolu]

Signaler
Messages postés
256
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
30 mai 2016
-
Messages postés
256
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
30 mai 2016
-
Bonjour à tous,

Le titre n'est peut être pas très explicite, je vous explique.
Mettons que nous avons deux classes : A et B.
B hérite de A.

Je voudrais savoir si il est possible de surcharger une fonction de A dans B tous en ne perdant pas ce qui est dans la fonction en question de A.

Par exemple, si la fonction de A, appelons-là Test, affiche un message dans la console.
Est-il possible de pouvoir surcharger cette fonction d'une façon permettant d'afficher le message de la fonction Test de la classe A et en plus afficher un message supplémentaire après dans la surcharge dans la classe B.

Ce serait en fait pour faire un système de plugin pour mon logiciel, permettant sans devoir recopier toute la fonction (pouvant donc inclure des erreurs si une ancienne version du logiciel est utilisé), d'ajouter des fonctions.

Par exemple une fonction affiche le menu Aide dans la barre de menu de mon programme, je voudrais que sans recopier toute la fonction, il soit possible de rajouter une entrée supplémentaire dans ce menu avec un système de plugin (en DLL ou SO pour Linux ;)).

Merci d'avance à ceuix qui pourront m'aider.

2 réponses

Messages postés
28
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
20 janvier 2009

bonjour,
je connait une solution qui consiste à appeler la fonction de la classe A depuis la fonction de la classe B.
un petit exemple si mon explication n'est pas très clair:
<hr size="2" width="100%" />#include

using namespace std;

struct A
{
    void aff() {cout << "coucou A" << endl;};
};

struct B:public A
{
    void aff() {A::aff(); cout << "coucou B" << endl;};
};
int main(void)
{
   
    B toto;
    toto.aff();
    return 0;
}
j'espère avoir pus t'aider.
Messages postés
256
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
30 mai 2016
4
Merci pour l'information, je savais pas si cela était possible ;)

Problème résolu alors, et merci à toi ;)