begin process at 2012 05 30 06:55:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Divers

 > 

Recuperer le type d'un template


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

Recuperer le type d'un template

lundi 28 avril 2008 à 22:32:13 | Recuperer le type d'un template

juju0169

Bonsoir! Désolé de vous déranger mais j'ai un petit soucis que je ne vois pas comment résoudre.

Je vais essayer d'être le plus clair possible!

VOilà j'ai une clase A et une classe B tel que :

class A
{
unsigned int _id;
bool _etat;
};

template<typename T>
class B : A
{
   private : T * _donnee,
};

je voudrais stocker des éléments "B" dans un vector et si je ne me trompe pas cela n'est pas possbile car je ne connais pas par avance le type de T. Donc c'est pour ca que je passe pas une classe A dite de base pour stocker non plus des B mais des A.

Donc a un moment j'ai quelque chose du genre
std::vector(A *) vect;
B * b = new B();
vect((A *) b);

par contre et voila mon probleme a un autre moment je voudrais pourvoir récupere les éléments de vect comme des B<??> et plus des A.

Bien evidement si je fais
A * a = vect[i]; (ok et logique donc j'ai acces aux attributs _id et _etat)
par contre B * b = vect[i] ne marche que si je fais (ce qui est logique) B<int> * b =vect[i]; mais dans ce cas cela suppose que je connais tout les types que je stocke ce qui n'est pas le cas!

alors comment faire? j'ai bien essaye de faire un truc du genre :
B<typeid(*_vec[i]) >* b = vect[i];

mais ce ne compile pas! SI jamais quelqu un aurait une idée je lui serais tres tres reconnaissant (comme toujours)

D'avance merci
Julien
lundi 28 avril 2008 à 23:18:07 | Re : Recuperer le type d'un template

luhtor

Le template c'est figé à la compilation, donc évidemment "B<typeid(*_vec[i]) >" ca ne peut pas marcher.
La solution à ton pb est simple: il n'y en a pas.

Le vrai pb c'est : pourquoi as tu besoin de faire ca ?
lundi 28 avril 2008 à 23:27:21 | Re : Recuperer le type d'un template

juju0169

Houla bonne question mais comment il repondre simplement?

en fait voila ca fait parti de tout un projet et je me vois mal vous l'expiquer en quelque lignes et faire tout le detail me semble un peu penible aussi bien pour vous que pour moi :)

Bon donc merci d'avoir répondu le problème c'est que maintenant il faut que je trouve comment faire autrement

mais bon je vois vraiment pas comment faire! BOn j'espere que j'y verrais plus clair demain!

encore merci et bonne soirée


Cette discussion est classée dans : recuperer, type, classe, template, vect


Répondre à ce message

Sujets en rapport avec ce message

pb avec template et surcharge [ par luhtor ] Je veux créer une classe vecteur dont le type des vecteurs peut varié. Et je cherche à surcharger l'opérateur << . Quand je supprime la notion de temp 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 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 passer en paramètre un type défini dans une classe vers une fonction d'une autre classe C++ [ par Johanboy ] Bonjour à tous, J'ai une question à laquelle je ne trouva pas de solution. Je veux pouvoir passer un paramètre dans une fonction de la classe C un Recuperer une config [ par vindian ] Bonjour, Je doit réaliser une petite interface sur windows VISTA avec Qt creator qui consiste à : - récupérer le type de connexion ( Ethernet ou wifi) Héritage et composition [ par naail ] Bonjour, j'ai un petit soucis, je vais essayer d'imager mon problème: J'ai une classe mère A et A1 et A2 qui hérite de cette classe. J'ai ensuite u 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{ };//****************** 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 Pb de syntaxe avec une methode template d'une classe template. [ par gaspos ] Bonjour,voici une classe template dont l'une des méthode a un type template en plus :template struct foo    {    // première methode sans type templa 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


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



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

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