J'ai une structure que je voudrais sortir en utilisant 'std :: cout' ou un autre flux de sortie. Est-ce possible sans utiliser les classes?surcharger "<<" avec un style cout struct (no class)
Merci
#include <iostream>
#include <fstream>
template <typename T>
struct point{
T x;
T y;
};
template <typename T>
std::ostream& dump(std::ostream &o,point<T> p) const{
o<<"x: " << p.x <<"\ty: " << p.y <<std::endl;
}
template<typename T>
std::ostream& operator << (std::ostream &o,const point<T> &a){
return dump(o,a);
}
int main(){
point<double> p;
p.x=0.1;
p.y=0.3;
dump(std::cout,p);
std::cout << p ;//how?
return 0;
}
j'ai essayé une syntaxe différente mais je ne peux pas semblent le faire fonctionner.
Il vaut la peine de noter que "sans utiliser de classes" n'est pas un qualificatif particulièrement utile dans ce cas. Il n'y a pas de différences fonctionnelles entre une structure et une classe sauf que les structures par défaut sont membres publics/héritage, alors que les classes sont privées par défaut. –