begin process at 2012 05 29 17:49:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

pb avec template et surcharge


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

pb avec template et surcharge

dimanche 19 décembre 2004 à 22:00:52 | pb avec template et surcharge

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 template et que je remplace par un type bien défini, il n'y a pas de problème, mais avec template, est-ce que quelqu'un pourrait m'indiquer ou est l'erreur :)


//maths.cpp

#include <iostream>
#include "maths.h"

template <class TYPE>
inline std::ostream & operator<<(std::ostream & chaine, const vector3D<TYPE> & vect)
{
chaine << "(" << vect.x << "," << vect.y << "," << vect.z << "\n";
return chaine;
}




// la classe vector3D :

//maths.h

template <class TYPE>
class vector3D
{
private:
unsigned int used;

public:
TYPE x,y,z;

vector3D(...)...; // je détaille pas
vector3D(const vector3D & vect_source);
~vector3D() {}

void set(const TYPE cx, const TYPE cy, const TYPE cz);

};

template <class TYPE>
inline std::ostream & operator<<( std::ostream & chaine, const vector3D<TYPE> & vect);

Merci d'avance
lundi 20 décembre 2004 à 04:43:38 | Re : pb avec template et surcharge

plus_plus_fab

Réponse acceptée !
salut,

définition de operator<< dans le header.
La norme prévoit l'utilisation du mot clé export pour permettre de séparer définition et déclaration, mais quasiment aucun compilo ne l'implémente. Donc tout dans le header avec les template (d'autant plus que tu veux l'inliner !)
lundi 20 décembre 2004 à 10:32:28 | Re : pb avec template et surcharge

luhtor

A oui en effet, quand je le mets dans la class, ca marche correctement.
Merci bcp !

mais c'est pénible de pas pouvoir définir l'opérateur ailleurs.


Cette discussion est classée dans : type, const, template, vect, vector3d


Répondre à ce message

Sujets en rapport avec ce message

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 Template et operator= (c++) [ par Crownless00 ] J'ai la classe template suivante :template class Point3D{public :    Point3D(Type posX, Type posY, Type posZ) {...}    Point3D() {x = 0; y = 0; z = 0; 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 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 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 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 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 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 Spécialisation des template [ par lglandeur ] Bonjour,J'ai une fonction template qui appartiens a une class (qui n'est pas template), et je souhaite spécialiser cette fonction pour le type std ::s template [ par dam1234 ] G un probleme avec une methode de classe declaree en template. J'aurai besoin de savoir comment est ce que l'on fait pour connaitre quel a été le type


Nos sponsors


Sondage...

Comparez les prix

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

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