Accueil > Forum > > > > template et instanciation
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=9766Kaid - 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
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|