begin process at 2012 02 12 10:40:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

template et héritage


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

template et héritage

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ée 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:  Template et héritage [ par ndubien ] Bonjour, Je souhaiterais savoir s'il est possible de créer une classe utilisant un template "restreint" à certaines classes. Je m'explique, je souha découpage de classe - instanciation template [ par vdox ] Bonjour, j'ai créé une classe template. De façon très classique, la déclaration est dans le .hpp et la définition des fonctions dans le cpp. J'aimerai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,390 sec (4)

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