Шаг 172 - Создания своих манипуляторов

Конечно, существующие манипуляторы не покрывают всех возможностей, которые бывают необходимы. Но можно сделать свои. Давайте посмотрим.

#include "stdafx.h"
#include "iostream.h"
#include "strstrea.h"

ostream& hello( ostream& os ) 
{
	return os << "Hello ";
}


void main()
{
	int i=255;
	cout << hello << hex << i << endl;
	cout << dec << i << endl;	
	cout << hello << oct << i << endl;
}

А вот результат:

172_1.gif (2784 b)

Конечно пример упрощенный и толку с него мало. Но думаю идея понятна. В MSDN, например, приведен пример манипулятора, который делает жирным шрифт на принтере используя ESC последовательности.

ostream& bold( ostream& os ) {
	return os << '\033' << '[';
}
cout << "regular " << bold << "boldface" << endl;

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