Тоже хорошая вещь. Мы можем не просто устанавливать стандартное действие, но и управлять поведением манипулятора передавая параметры. Смотрим.
#include "stdafx.h"
#include "iostream.h"
#include "strstrea.h"
#include "iomanip.h"
ostream& hello( ostream& os, int count )
{
os << "Hello ";
for (int x=0;x<count;x++) os << endl;
return os;
}
OMANIP (int) hello(int count )
{
return OMANIP (int) (hello,count);
}
void main()
{
int i=255;
cout << hello(3) << hex << i << endl;
cout << dec << i << endl;
cout << hello(5) << oct << i << endl;
}
В результате в зависимости от переданного параметра будет произведен перевод строки.

Тут все сложнее. Нам пришлось использовать макрос OMANIP для создания манипулятора с парамeтром.