0
我們知道,std :: 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,我改進了我的答案,以便它可以根據需求對班級進行格式化 –