Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Pb de polymorphisme [ Archives / Au secours ] (obby)

lundi 20 mars 2006 à 22:35:53 | Pb de polymorphisme

obby

Salut à tous,

j'ai un problème, en fait je fais du polymorphisme mais la classe "mère" n'est pas la classe de plus haut niveau et du coup je n'arrive pas à surcharger l'opérateur =, je passe forcement dans celui de la classe CFenetre (qui est une classe virtuel pure)

CFenetre : public Gtk::Widget
CFenetre2D : virtual public CFenetre, virtual public Gtk::Widget
CFenetre3D : virtual public CFenetre

Est-ce que quelqu'un connait la solution?

mardi 21 mars 2006 à 00:36:02 | Re : Pb de polymorphisme

mathusale_ftl

Salut,

Petit question : Pourquoi CFenetre2D hérite de Gtk::Widget, ce n'est pas nécessaire.
Bref, ce n'est qu'un détail.
Comme la classe CFenetre est une classe Abstraite, je pense que tu dois utiliser le mot clé virtual devant la méthode pour indiqué lors de l'éxécution que c'est cette méthode que tu souhaite utiliser.

Exemple :

Dans la classe de base : virtual void CFenetre::operator=(const CFenetre &fenetre) = 0;
Dans la classe dérivée:

virtual void CFenetre2D::operator=(const CFenetre2D &fenetre)
{
//Ton code
}

J'espère que ça peut t'aider
               

mardi 21 mars 2006 à 08:10:49 | Re : Pb de polymorphisme

obby

Le problème c'est que l'opérateur = des classes dérivé a un prototype qui est différent => c'est donc une méthode différente.... Je vais malgré tout essayer de voir en mettant l'opérateur = en virtuel pure

mardi 21 mars 2006 à 12:13:32 | Re : Pb de polymorphisme

mathusale_ftl

Mais normalement si tu met le mot clé virtual, il devrait exécuter la méthode de la classe appelante. Le fait de le mettre en virual pure ne changera rien je pense...

Sinon tu peux essayé ceci

virtual void operator=(....) override //surcharge de la méthode


mardi 21 mars 2006 à 23:28:05 | Re : Pb de polymorphisme

obby

on m'a fait part d'un article sur un autre forum, je vais regardé ca demain....
pour info :
[ Lien ]

mardi 21 mars 2006 à 23:28:08 | Re : Pb de polymorphisme

obby

on m'a fait part d'un article sur un autre forum, je vais regarder ca demain....
pour info :
[ Lien ]



Cette discussion est classé dans : public, classe, virtual, polymorphisme, cfenetre


Répondre à ce message

Sujets en rapport avec ce message

template et héritage [ par cybermax62 ] j'ai un problème de fond dans ma conception. Je voudrais utiliser une classe template de base Singleton avec des classes héritées (plusieurs fois). Le C++ Classe virtuelle et héritage [ par freepouy18 ] Bonjour, Voila, j'ai un souci avec l'utilisation de méthodes virtuelles pures lors de leurs redéfinition dans une sous-cla Classe abstraite ?? [ par tintin72 ] Bonjour, Pour mon programme j'ai besoin de 2 types de listes chainées qui sont parfois amenées à échanger des information entre elles. J'ai donc fait probleme avec le garbage collector [ par anthonycosson ] je suis en train de créer une dll en c++ .net , dans cette dll il y a deux classesla classe public __gc <FONT color=#0000f /* * Classe CWindow */ template <typename T> class CWindow: public CSingleton<T> { private: protected: GtkWidget* pwindow; public: CWindow(); void init(void); Warning de compilation - méthodes virtuelles [ par neodelphi ] Bonjour tout le monde, Je suis en train de coder une classe et j'ai besoin de définir une méthode virtuelle pure. Ma première question est quelle est template et l'héritage [ par imad_lol ] salut.dans mon programme je déclare 2 classe X et Y.les 2 classe sont des classes templates et Y hérite de X :template class X{ };//****************** Thread et IHM [ par jamais34 ] Bonjour,j'ai une classe qui implemente ses différentes interfaces : class ATL_NO_VTABLE CPropPage :    public CComObjectRootEx,    public CComCoClass, Erreur lors d'un ajout de classe [ par bedrohung ] Bonsoir, je débute sur le C++ et je travaille sur un projet d'envoie de SMS via un modem GSM. J'utilise une classe liaison série pour communiquer avec Tite question sur le polymorphisme [ par tibob51 ] Bonjour ma questio est simple:J'ai des classe B,C,D ect... qui dérive de A.Elle contienne toute une fonction F() sauf A.Je créé mes classe en utilisan


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.