begin process at 2012 05 30 18:33:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

template et instanciation


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

template et instanciation

vendredi 11 avril 2003 à 18:53:53 | template et instanciation

payen

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<int> 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?
vendredi 11 avril 2003 à 20:12:12 | Re : template et instanciation

Kaid


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

-------------------------------
Réponse au message :
-------------------------------

> 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<int> 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?
>
vendredi 11 avril 2003 à 20:25:52 | Re : template et instanciation

payen

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)?



-------------------------------
Réponse au message :
-------------------------------

>
> 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
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > 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<int> 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?
> >
>
vendredi 11 avril 2003 à 20:29:57 | Re : template et instanciation

Kaid


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

-------------------------------
Réponse au message :
-------------------------------

> 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)?
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> > 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
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > 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<int> 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?
> > >
> >
>
vendredi 11 avril 2003 à 20:54:49 | Re : template et instanciation

payen

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?



-------------------------------
Réponse au message :
-------------------------------

>
> 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
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > 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)?
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > >
> > > 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
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > 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<int> 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?
> > > >
> > >
> >
>
vendredi 11 avril 2003 à 20:59:30 | Re : template et instanciation

Kaid


Oui c'est possible, c'était l'objet d'une discussion il y a peu sur le forum:
http://www.cppfrance.com/forum.aspx?Article=9766

Kaid - kaid.fr.st

-------------------------------
Réponse au message :
-------------------------------

> 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?
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> > 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
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > 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)?
> > >
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > >
> > > > 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
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > 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<int> 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?
> > > > >
> > > >
> > >
> >
>
vendredi 11 avril 2003 à 21:03:45 | Re : template et instanciation

payen

tres bon lien, merci



-------------------------------
Réponse au message :
-------------------------------

>
> Oui c'est possible, c'était l'objet d'une discussion il y a peu sur le forum:
> http://www.cppfrance.com/forum.aspx?Article=9766
>
> Kaid - kaid.fr.st
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > 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?
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > >
> > > 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
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > 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)?
> > > >
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > >
> > > > > 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
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > 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<int> 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?
> > > > > >
> > > > >
> > > >
> > >
> >
>


Cette discussion est classée dans : template, copier, im1, instanciation, cim


Répondre à ce message

Sujets en rapport avec ce message

Copier un CBitmap dans un autre CBitmap [ par chouchoune21 ] Bonjour!Question à 2 balles, mais comment on copie un CBitmap dans un autre CBitmap???Ex : CBitmap im1,im2;BITMAP IM1;im1.LoadBitmap(IDB_im1);im1.GetB CTRL + C [ par Joky ] Euh salut :) Voila donc j'essaie d'installer un Hook sur les fonctions copier coller etc... Donc pour celà, je fait un Hook sur le clavier, et test le Copier contenu d'un repertoire vers un autre repertoire [ par vero77lisa ] Bonjour, Je cherche une fonction C++ permettant de copier le contenu d'un répertoire, vers un autre répertoire j'utilise C++Builder6 Merci a tous V Délai pour le clipboard [ par Sabrran ] Salut, J'essai de faire un interface entre une application et mon logiciel. La seul manière de copier le texte de l'application cible c'est d'utilise Comment copier un fichier dans un repertoire particulier [ par clcat ] Salut,Mes connaissances en C++ ne sont pas extraordinaires, ce que je veux faire me parait impossible, et le temps me manque terriblement.J'ai un fich Copier fichier [ par anonyme_man_in_this_world ] salut, est il possible qu'un programme se fait copier par lui meme dans un repertoire ? merçi d'avance Template [ par yostane ] Comment créer une instance CArray et comment la manipuler sous VisualC++ 6 dans une application MFC basée dialogue. Template et fichier => urgent svp [ par najla1986 ] J'ai une classe qui a comme variable un template. Je dois mémoriser cette classe dans un fichier. Le template demande-t-il une technique spéciale ou s API Windows - Template dialog [ par banane_rose ] bonjour, voilà j'ai fait une template d'une dialog avec un logiciel (ce n'est qu'un test) #define ABOUTBOX 1000#define IDOK 1001#define IDCANCEL 1002A Urgent : Copier variable string dans variable char [ ]? [ par najla1986 ] j'ai une classe avec des variable de type string. Lorsque je sauvegarde des occurences de cette classe dans un fichier, les variables de type string m


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 : 6,490 sec (3)

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