0
のすべてについてstd :: setw()は次の出力にのみ影響を与えます。ちょうどあなたのクラスにsetw()
メソッドを追加std :: setwは、ユーザー定義型の演算子<<
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;
*彼ら*が意図する方法はどうですか?あるいは、彼らが必要とするすべての形式に対してこの 'operator <<'を修正し始めるべきですか?もし彼らが異なるフォーマットを必要とするのであれば? – StoryTeller
@StoryTeller、私は要求に応じてクラスをフォーマットできるように答えを改善しました –