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 : template et héritage [ Archives / Au secours ] (cybermax62)

jeudi 28 avril 2005 à 15:17:07 | template et héritage

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 problème est que je n'arrive pas à prolonger les membres de ma classe de base à cause du template.

A l'origine j'ai (simplifié):
Class A{} //abstraite
Class B:public A {}   //abstaite
Class C:public B {} //concrete
Class D: public B //abstraite
Class E: public D //concrete
et je veux mettre une classe singleton avant ou dans la classe A.

j'ai pensé au début faire une héritage classique mais si je veux créer/détruire mes instances je dois avoir les types.
J'ai ensuite pensé (avec l'aide d'une site...) à une classe template pour ma classe de base. Si je n'ai qu'une génération ca va. Dans mon cas, ca ne marche pas  car si je définis la classe A de la forme template <typename T> Class A et la classe B du type Class B: public A <B> , alors j'ai des problèmes pour mes classes D,E,...

je ne vois pas quoi faire à ce moment, merci de vos conseils ...


lundi 2 mai 2005 à 15:52:26 | Re : template et héritage

cosmobob

salut,
j'ai l'impression que tu as mal exprimé ton problème, parce que moi je vois pas exactement ce que tu veux faire ...
Dans ce que je comprends, c'est que tu ne devrais pas faire hériter A à des classes qui vont elles aussi etre dérivées.
tu devrais plutot avoir un truc du genre:
template <class T> class singleton; // A la place de ta classe A
Class A{} //abstraite, sert d'interface ou de modele
Class B:public A {}   //abstaite
Class C:public B, public singleton<C> {} //concrete
Class D: public B //abstraite
Class E: public D, public singleton<E> //concrete


a+


lundi 2 mai 2005 à 15:54:58 | Re : template et héritage

cosmobob

dans ce que tu voulais faire ton probleme est lié au fait que deux instances de deux classes qui sont dérivées d'une meme classe de base qui doit etre un singleton, peuvent etre vues comme deux fois cette classe de base, d'ou le fait que comme ta partie base ne peux pas exister en double, il y a un probleme.
voila ...




Cette discussion est classé dans : public, class, classe, template, héritage


Répondre à ce message

Sujets en rapport avec ce message

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{ };//****************** Question syntaxe C++ [ par max12 ] Bonjour,J'ai c'est la première fois que j'utilise les template en C++ et j'ai un soucis, c'est surement quelque chose de très simple au point que vous Class derivée , Template ( POURQUOI ES-CE CI DIFFICILE) ??? [ par nawakator ] J'ai déjà posé cette question, mais je la repose car elle est essentiel pour mon projet!J'ai créer un template permettant de géré une liste chainé de /* * 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 [ par ifren ] salutje veux utilise une classe D utilisant une variable qui peut etre double ou string, je deirve de cette dernier deux autre class Dnum et Dstrpour Pb de Multi héritage [ par bach58 ] Je veux définir une classe Z qui hérite d'une autre classe A par deux voies différentes :class A{ int a; ....}class X:A ..{..}class Y:A... {...} héritage d'une template classe comme vector [ par Urukai1 ] bonjourje suis un newbie en cpp, et j'ai fait beaucoup de javaje souhaite faire une classe qui herite par exemple de la classe vector avec template,le Objet : problème héritage [ par jeremie064 ] Bonjour à tous,Je suis débutant en c++ et un problème d'héritage se pose à moi.Voici mon code simplifié :dans un .h j'ai :   class A   {      public:  Liste comportant une classe template [ par horcks ] Bonjour, J'aurais voulu savoir s'il est possible de créer une liste contenant une classe template. Je m'explique : Voici le code (écourté) du template probleme cpp class [ par leroiloup ] ce programme ne m'affiche rient#include#include#includeusing namespace std;class Ahmed{      public:         Ahmed(){};             virtual void a


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

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é.