begin process at 2010 02 09 18:10:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Pb de polymorphisme


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pb de polymorphisme

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ée 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 Creer objet avec classe heritée [ par jonas03 ] Bonjour à tous,Voici mon problème : j'ai une classe personne et 2 classe dérivées interne et externe mais je veut créer dans mon main une personne mai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales