0
Nous savons que le fichier std :: setw() n'influence que la sortie suivante.std :: setw pour tout l'opérateur << du type défini par l'utilisateur
Alors, que pratique standard pour aligner l'opérateur toute < < de type défini par l'utilisateur en sortie de table:
class A
{
int i, j;
public:
friend ostream& opeartor<<(ostream& out, const A& a) {
return << "Data: [" << i << ", " << j << "]";
}
}
// ...
A[] as;
out << std::left;
for (unsigned i = 0; i < n; ++i)
out << std::setw(4) << i
<< std::setw(20) << as[i] // !!!
<< std::setw(20) << some_strings[i]
<< some_other_classes[i] << std::endl;
out << std::right;
Qu'en est-il de la façon dont * ils * l'entendent? Ou devraient-ils commencer à modifier cet 'opérateur <<' pour chaque format dont ils ont besoin? Et s'ils * ont * besoin de formats différents? – StoryTeller
@StoryTeller, j'ai amélioré ma réponse afin qu'elle permette de formater la classe sur demande –