Шаг 173 - Манипуляторы с параметрами

Тоже хорошая вещь. Мы можем не просто устанавливать стандартное действие, но и управлять поведением манипулятора передавая параметры. Смотрим.

#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;
}

В результате в зависимости от переданного параметра будет произведен перевод строки.

173_1.gif (3152 b)

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


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 24.07.2002