[string C++] ::>>> bien Relou
Résolu
Bonjour j'ai pas mal de problemes en C++ pour faire un toString() pour une classe nommée vecteur.
en effet je connai mieu le java ou c'est vraiment plus simple de manipuler des chaines de caracteres. voici l'état de mon code:
donc pour le moment j'affiche seulement les coordonnées x et y avec un cout.
et ma fonction ne retourne rien.
j'aimerais pluto que ma fonction retourne un string mais je misere pour concatener et caster mes coordonnees (qui sont des floats) en string.
j'espere que vous mavez suivi
en effet je connai mieu le java ou c'est vraiment plus simple de manipuler des chaines de caracteres. voici l'état de mon code:
void Vecteur::toString(){ cout << getX() <<";" << getY() << endl; }
donc pour le moment j'affiche seulement les coordonnées x et y avec un cout.
et ma fonction ne retourne rien.
j'aimerais pluto que ma fonction retourne un string mais je misere pour concatener et caster mes coordonnees (qui sont des floats) en string.
j'espere que vous mavez suivi
A voir également:
- [string C++] ::>>> bien Relou
- System.io.__error.winioerror(int32 errorcode, string maybefullpath) - Forum Windows
- Uninitialized string offset ✓ - Forum PHP
- Eol while scanning string literal ✓ - Forum Python
- Papa du string v2 ✓ - Forum Excel
- Vli product string - Forum C++
1 réponse
Dans cet exemple je définis d'un coup l'opérateur d'écriture pour les sorties standards std::cout et std::cerr (de type std::ostream) et pour les fichiers (de type std::ofstream) grâce à un template. Les fonctions template doivent impérativement être intégralement dans le .hpp
Bonne chance
#include <iostream> class vecteur{ protected: double x; double y; public: vecteur(){} vecteur(const double & x0,const double & y0):x(x0),y(y0){} inline void setx(const double & x0){x = x0;} inline void sety(const double & y0){y = y0;} inline const double & getx() const {return x;} inline const double & gety() const {return y;} }; template <typename Tstream> Tstream & operator << (Tstream & out,const vecteur & v){ out << v.getx() << ' ' << v.gety(); return out; } int main(){ vecteur v1(5.0,3.6); std::cout << v1 << std::endl; return 0; }
Bonne chance