begin process at 2010 02 10 14:54:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Divers

 > 

Template et operator= (c++)


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

Template et operator= (c++)

mardi 16 décembre 2008 à 21:39:49 | Template et operator= (c++)

Crownless00

J'ai la classe template suivante :

template <class Type>
class Point3D
{

public :
    Point3D(Type posX, Type posY, Type posZ) {...}
    Point3D() {x = 0; y = 0; z = 0;}

    Point3D<Type>& operator=(const Point3D<Type>&) { ??? }

    ...
private :
    Type    x, y, z;
};

Comment surcharger :
Point3D<Type>& operator=(const Point3D<Type>&)

Pour pouvoir écrire : Point3D<float> point = Point3D<int>(...,...,...);
Sans avoir à la compilation : erreur: conversion from 'Point3D<int>' to non-scalar type 'Point3D<float>' requested

Merci.

mercredi 17 décembre 2008 à 02:04:13 | Re : Template et operator= (c++)

magic_Nono

Membre Club
à mon avis, tu chercher à faire une conversion de types internes

(de float à int)

donc, l'usage de deux templates melés...


ton cas spécifique se coderai ainsi
 (cependant, la classe risque d'etre moins générique que prévu
mais ça ne devrait pas t'embéter outre mesure, à voir selon les besoins
)



Point3D<Type>& operator=(const Point3D<int>&in)
{
x=(Type)in.x;
y=(Type)in.y;
z=(Type)in.z;
}




___________________________________________________________
Magicalement
Nono
mercredi 17 décembre 2008 à 19:09:38 | Re : Template et operator= (c++)

Crownless00

J'ai donc fait :

Point3D<Type> operator= (const Point3D<char> &p0)
{
Point3D<Type> p(Type(p0.x()),Type(p0.y()), Type(p0.z()));
return &v;
}
Avec tous les types de base : char, short, int, long, double, float, ...

Et j'ai quand même : erreur: conversion from 'Point3D<int>' to non-scalar type 'Point3D<float>' requested ...
dimanche 28 décembre 2008 à 10:05:51 | Re : Template et operator= (c++)

Gtijani

Bonjour,

Regarde ce lien :

[ Lien ]

tu y trouveras un exemple et les source de CPoint2D et 3D !, dans le .h il y a un exemple pour surcharger les operator de cats

tij


Cette discussion est classée dans : type, const, template, operator, point3d


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 Template: Spécialisation partielle [ par luhtor ] Bonsoir, j'ai une classe définie comme suit: template class operator_binary_pow;et notamment une fonction membre: template inline _T operator_bina Manip' des variables du type char... [ par DJeS ] J'ai d'eternels problemes pour manipuler les variables char, const char etc...quand je veux faire passer un argument char a un fonction j'ai souvent d Fonction à nbr d'arguments variable [ par Xilofeon ] Bonjour.   Alors gros problème.J'utilise des fonctions à nombres variables d'arguments. Alors je vais vous montré le code est expliqué aprés car je vo Template [ par T_Mehdi ] salut a tous : bon ma question est facile c koi la diference entre ces 2 code ( car au niveau execution ca done la meme chose :s)  template genType r classe matrice [ par pabreto ] bonjour!je dois écrire le matrice.c d'une classe de matrice à partir d'un matrice.h que l'on me donne et que je n'a pas le droit de modifier.voici mes Créer un classe de matrice [ par kazeton ] Bonjour à tous,Je débute en c++ et je voudrais réaliser un classe de matrice.On m'a donné le .h et on m'a demandé de réaliser un .cc afin de définir t Template, pile et affichage ! [ par seven333 ] voici mon fichier de déclaration #include #include template class Pile {     int n_elem;     int *adresse; Recuperer le type d'un template [ par 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'a Surcharge d'opérateur [ par lucyhle ] Bonjour, J'ai des trous de mémoires de de compétences sur la surcharge d'opérateur. A quoi ca sert? Par exemple ici: pourquoi surcharge t'on les opé


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 1,685 sec (4)

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