Template

Signaler
Messages postés
33
Date d'inscription
vendredi 2 mars 2007
Statut
Membre
Dernière intervention
1 août 2011
-
Messages postés
149
Date d'inscription
mercredi 28 mars 2007
Statut
Membre
Dernière intervention
17 mai 2007
-
salut
je suis un debutant et je sais pas ou l'erreur sur ma class complexe
voila la class complexe.h et .cpp
#ifndef complexe_h
#define complexe_h
template <class T>


class complexe{
 protected :
  T re;
  T im;
 public :
  //definition des constructeur
  comlexe();
  complexe(T r,T i);
  complexe(complexe<T> & a);
     //methode d'acces
  T getre();
  T getim();
  void setre(T r);
  void setim(T i);
  
  //surcharge des operator
  template <class T>
  complexe <T> operator+(complexe<T> &z);
     complexe<T> operator=(complexe<T> &z);
  complexe<T> operator*(complexe<T> &z);
     friend ostream &operator <<(ostream &out,complexe<T> &a);
  friend ostream &operator >>(istream &in,complexe <T> &a);
};
#endif


#include
#include"complexe.h"
template<class T>
complexe<T>::complexe(){
 re=0;
 in=0;
}
template<class T>
complexe<T>::comlexe(T r,T i){
 re=i;
 im=i;
}


template<class T>
complexe<T>::comlexe(complexe<T> &p){
 re=p.re;
 im=p.im;
}
template<class T>
complexe<T>::getim(){
 return im;
}
template<class T>
complexe<T>::getre(){
 return re;
}
template<class T>
void complexe::setim(T i){
im=i;
}
void complexe ::setre(T r){
 re=r;
}
complexe<T> operator+(complexe<T> &z){
 complexe<T> p;
    p.im=p.im+z.im;
 p.re=p.re+z.re;
 return this;
}
complexe<T> operator=(complexe<T> &z){
 re=z.re;
 im=z.im;
 return this;
}


complexe<T> operator*(complexe<T> &z){
 complexe<T> k;
 k.re*=z.re;
 k.im*=z.im;
}
ostream<T> &operator <<(ostream &out,complexe<T> &e){
 cout<<la partie reel";


 out<<e.getre;
 cout<<"partie imaginair";
 out<<e.getim;
 return out;
}
ostream<T> &operator >>(istream &in,complexe<T> &e){
 in>>e.setre;
 in>>e.setim;
 return in;
}

3 réponses

Messages postés
7
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
4 mai 2007

petites erreurs de syntaxe.

#ifndef __COMPLEXE__
#define __COMPLEXE__
#include
using namespace std;

template <class t="">

class complexe {
public :
//definition des constructeur
complexe();
complexe(T r,T i);
complexe(complexe<t> &a);

//methode d'acces
T getre();
T getim();
void setre(T r);
void setim(T i);

//surcharge des operator
complexe<t> operator+(complexe<t> &z);
complexe<t> operator=(complexe<t> &z);
complexe<t> operator*(complexe<t> &z);

friend ostream& operator<<(ostream &out,const complexe<t> &);
friend istream& operator>>(istream &in,complexe<t> &);

protected :
T re;
T im;

};
#endif

#include "complexe.h"

template<class t="">
complexe<t>::complexe(){}

template<class t="">
complexe<t>::complexe(T r,T i){
re=r;
im=i;
}

template<class t="">
complexe<t>::complexe(complexe<t> &p){
re=p.re;
im=p.im;
}

template<class t="">
T complexe<t>::getim(){
return im;
}

template<class t="">
T complexe<t>::getre(){
return re;
}

template<class t="">
void complexe<t>::setim(T i){
im=i;
}

template<class t="">
void complexe<t>::setre(T r){
re=r;
}

template<class t="">
complexe<t> complexe<t>::operator+(complexe<t> &z){
complexe<t> p;
p.im=p.im+z.im;
p.re=p.re+z.re;
return this;
}

template<class t="">
complexe<t> complexe<t>::operator=(complexe<t> &z){
re=z.re;
im=z.im;
return this;
}

template<class t="">
complexe<t> complexe<t>::operator*(complexe<t> &z){
complexe<t> k;
k.re*=z.re;
k.im*=z.im;
}

template<class t="">
ostream& operator <<(ostream &out,const complexe<t> &e){
cout<<"la partie reel";

out<<e.getre;
cout<<"partie imaginair";
out<<e.getim;
return out;
}

template<class t="">
istream& operator >>(istream &in,complexe<t> &e){
in>>e.setre;
in>>e.setim;
return in;
}</t></class></t></class></t></t></t></t></class></t></t></t></class></t></t></t></t></class></t></class></t></class></t></class></t></class></t></t></class></t></class></t></class></t></t></t></t></t></t></t></t></t></class>
Messages postés
7
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
4 mai 2007

Désolé pour le post précédent (a pas aimé opéra je crois)
petites erreurs de syntaxe.



#ifndef
__COMPLEXE__<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>





#define
__COMPLEXE__





#include







using

namespace std;





 





template
<class T>





 





class
complexe {






 
public :






 
//definition des constructeur







  complexe();






  complexe(T r,T i);






  complexe(complexe<T> &a);






 








 
//methode d'acces







  T getre();






  T getim();






 
void setre(T r);






 
void setim(T i);






 








 
//surcharge des operator







  complexe<T> operator+(complexe<T> &z);






  complexe<T> operator=(complexe<T> &z);






  complexe<T> operator*(complexe<T> &z);





 






 
friend ostream& operator<<(ostream &out,const complexe<T> &);






 
friend istream& operator>>(istream &in,complexe<T> &);





 





protected
:






  T re;






  T im;





 





};





#endif





 









#include

"complexe.h"














template
<class T>





complexe<T>::complexe(){}





 





template
<class T>





complexe<T>::complexe(T r,T i){






 re=r;






 im=i;





}





 





template
<class T>





complexe<T>::complexe(complexe<T> &p){






 re=p.re;






 im=p.im;





}





 





template
<class T>





T complexe<T>::getim(){






 
return im;





}





 





template
<class T>





T complexe<T>::getre(){






 
return re;





}





 





template
<class T>





void
complexe<T>::setim(T i){





im=i;





}





 





template
<class T>





void
complexe<T>::setre(T r){






 re=r;





}





 





template
<class T>





complexe<T> complexe<T>::operator+(complexe<T> &z){






 complexe<T> p;






 p.im=p.im+z.im;






 p.re=p.re+z.re;






 
return
this;





}





 





template
<class T>





complexe<T> complexe<T>::operator=(complexe<T> &z){






 re=z.re;






 im=z.im;






 
return
this;





}





 





template
<class T>





complexe<T> complexe<T>::operator*(complexe<T> &z){






 complexe<T> k;






 k.re*=z.re;






 k.im*=z.im;





}





 





template
<class T>





ostream& operator <<(ostream &out,const complexe<T> &e){






 cout<<"la partie reel";





 






 out<<e.getre;






 cout<<"partie imaginair";






 out<<e.getim;






 
return out;





}





 





template
<class T>





istream& operator >>(istream &in,complexe<T> &e){






 in>>e.setre;






 in>>e.setim;






 
return in;





}


 
Messages postés
149
Date d'inscription
mercredi 28 mars 2007
Statut
Membre
Dernière intervention
17 mai 2007
1
Salut,

tu peux dire le message d'erreur que tu obtiens et dire à quelle ligne il est ?
Ca aiderait.
Et aussi mettre en commentaires des morceaux plutot que de tout compiler d'un bloc, ca te ferait cerner le probleme

@++