Template et instanciation

cs_payen Messages postés 252 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 1 mai 2005 - 11 avril 2003 à 18:53
cs_payen Messages postés 252 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 1 mai 2005 - 11 avril 2003 à 21:03
salut salut,

j'ai cree une template class (template <class T> class CIM)avec comme attribut un tableau dont le type est instancie a la creation de l'objet : CIM<char> im1(100,100) par exemple. maintenant, je souhaite faire un methode Copier : void Copier(CIM im) qui recopie les valeurs d'un objet dans un autre. seulement, probleme, qd il y des types differents pour les objets, pas de compilation pour cause de pb de conversion :

CIM<char> im1(100,100);
CIM im2(100,100);
im1.Copier(im2);

j'ai fait le constructeur de copie ... ma question est en fait de savoir comment faire une conversion de type quand on ne le connait pas (pas grave pour l'instant si il y a des pertes dans les conversions ...)

PS : est ce que je dois declarer ma methode comme ca : void Copier(CIM<T> im) ou comme ci dessus?

6 réponses

cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
11 avril 2003 à 20:12
Qu'est ce que tu veux en faire ?

Si j'étais toi, j'abandonnerai l'idée, ca n'a aucun sens ce que tu veux faire et c'est dangeureux puisque les données stockées dans ton tableau ont de grandes chances d'être invalides. Invalides et inutilisables.

Kaid - kaid.fr.st
0
cs_payen Messages postés 252 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 1 mai 2005
11 avril 2003 à 20:25
Admettons, tu as raison ... par contre, comment est il possible d'empecher (test?) la copie d'un tableau d'un type dans un autre type (a part l'erreur du compilateur)?
0
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
11 avril 2003 à 20:29
C'est le compilateur qui fait cette vérification donc pas la peine de faire le test à l'exécution. S'il y a un problème, ca ne compilera pas, c'est tout.

Kaid - kaid.fr.st
0
cs_payen Messages postés 252 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 1 mai 2005
11 avril 2003 à 20:54
d'accord, c'est effectivement lpus simple comme ca ... tu vas me trouver lourd, mais existe t il un equivalent de sizeof() pour connaitre le type d'une variable?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
11 avril 2003 à 20:59
Oui c'est possible, c'était l'objet d'une discussion il y a peu sur le forum:
kaid.fr.st
0
cs_payen Messages postés 252 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 1 mai 2005
11 avril 2003 à 21:03
tres bon lien, merci
0
Rejoignez-nous