C ++ cout с префиксом
Я хочу ostream с префиксом в начале каждой строки, перенаправленной на cout; Я пытаюсь это:
#include <iostream>
#include <thread>
class parallel_cout : public std::ostream
{
public:
parallel_cout(std::ostream& o):out(o){}
template <typename T>
std::ostream& operator<< (const T& val)
{
out << "prefix " << val;
return *this;
}
std::ostream& out;
};
int main()
{
parallel_cout pc(std::cout);
pc<<"a\nb"<<"c\n";
}
но у меня есть на выходе
prefix a
b
без ц. почему это?