>>98
class wrapstream
{
ostream *os;
public:
wrapstream(ostream &p):os(&p){}

template <class T>
wrapstream &operator<<(const T &a)
{ (*os)<<"--- "; (*os)<<a; (*os)<<endl; return *this; }
};

cout<<fixed;
wrapstream ws(cout);
ws<<10.0<<20.0;

これでどうでしょうか?
小数点がついたまま出力したりするのはios_baseで設定することができるのでそれを参照してください