Функции-члены

Функции-члены или методы (method) — это функции, объявленные в классе (детальное обсуждение классов ищите в главе 14 ^"Базовые концепции классов"). Если у вас есть опыт программирования на С, считайте функции-члены элементами структуры. Если вы программировали на Visual Basic, вообразите новый усовершенствованный тип данных, позволяющий в качестве одной из составляющих вводить функции. То же самое для языка Pascal: можно представить себе, что функции могут быть элементами записей (record). Все, что определено в классе — переменные и функции — это его элементы, или члены.

Замечание

Вам, разумеется, не удастся добавить функции в типы Visual Basic или в записи Pascal, но, возможно, дойдет и до ?того. В среде разработки приложений фирмы Borland под названием Delphi, созданной на базе Object Pascal, классы уже реализованы и, более того, довольно давно.

Обсуждаемые функции-члены ^принадлежат классам ostream и istream. Другие классы этой иерархии будут рассмотрены в следующих разделах. Здесь мы не будем изучать вспомогательные функции, обеспечивающие "кухню" потоков, а займемся основными функциями ввода и вывода.

Объекты cin и cout располагают набором функций, позволяющим усовершенствовать ввод-вывод, когда традиционные оператор-функции не вполне отвечают вашим потребностям. Да, операция « — это функция-член класса ostream, а операция », в свою очередь, функция-член класса istream.

Замечание

ЦУ классов istream и ostream определено по нескольку версий операций « и » — по меньшей мере по одной для каждого встроенного типа данных, в ¦том числе для нового типа bool. Все это в деталях обсуждается в главе 16.

Как мы уже видели, синтаксис обоих объектов весьма незамысловат. Однако кроме этих двух есть еще и другие функции. Теперь мы перейдем к рассмотрению функций flush, put И write класса ostream И функций get,

getline, peek, read, ignore И gcount класса istream.

Функции-члены класса ostream

Как мы с вами видели, данные базовых типов очень просто отправлять на вывод с помощью операции « объекта cout. Функции-члены класса ostream, о которых пойдет речь, имеют несколько отличающийся синтаксис: чтобы их вызвать, надо воспользоваться операцией точка (.), впрочем, это справедливо для любых элементов класса:

cout.func_name( arglist);