Программирование на C и C++

Онлайн справочник программиста на C и C++

Создание собственных операторов вставки и извлечения

В предыдущих разделах создаваемые функции-члены осуществляли вывод и ввод данных класса с помощью вызова функций наподобие show_data() или get_data(). Хотя технически здесь нет ничего неправильного, язык С++ обеспечивает гораздо более совершенный способ выполне­ния операций ввода/вывода классов с помощью перегрузки операторов << и >>.

На языке С++ оператор << называют оператором вставки (insertion), потому что он вставляет символы в поток. Аналогичным образом оператор >> называется оператором извлечения (extraction), поскольку он извлекает символы из потока. Операторы, перегружающие эти операторы вставки и извлечения, обычно называют инсертером (inserter) и экстрактором (extractor) соответственно. Операторы вставки и извлечения перегружаются в файле iostream.h для того, чтобы выполнять потоковый ввод/вывод любых встроенных типов С++. В этом разделе объясняется, каким образом определить эти операторы по отношению к определяемым классам.