8.2.5 Виртуальная Функция Вывода

8.2.5 Виртуальная Функция Вывода

Иногда функция вывода должна быть virtual. Рассмотрим пример класса shape, который дает понятие фигуры (#1.18):

class shape (* // ... public: // ... virtual void draw(ostream amp; s); // рисует «this» на "s" *);

class circle : public shape (* int radius; public: // ... void draw(ostream amp;); *);

То есть, круг имеет все признаки фигуры и может обрабтываться как фигура, но имеет также и некоторые специальные свойства, которые должны учитываться при его обработке.

Чтобы поддерживать для таких классов стандартную пардигму вывода, операция «« определяется так:

ostream amp; operator«„(ostream amp; s, shape* p) (* p-“draw(s); return s; *)

Если next – итератор типа определенного в #7.3.3, то список фигур распечатывается например так:

while ( p = next() ) cout «« p;

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

ОКНО ДИАЛОГА: Виртуальная параллельность

Из книги Журнал `Компьютерра` №753 автора Журнал «Компьютерра»

ОКНО ДИАЛОГА: Виртуальная параллельность Автор: Илья ЩуровЛегко жить, когда слова имеют понятный и неизменный смысл. Вот, скажем, стол - он и в Африке стол, и сто лет назад был столом, и останется столом, с какой стороной на него ни смотри. Но с каждым днем нам все меньше и


16.5. Виртуальная файловая система VFS

Из книги Linux для пользователя автора Костромин Виктор Алексеевич

16.5. Виртуальная файловая система VFS До сих пор наш рассказ о файловой системе касался только "статических", если можно так выразиться, составных частей файловой системы. Но, я думаю, вы понимаете, что все это хозяйство обслуживается какими-то программными модулями. Эти


Виртуальная память

Из книги Основы AS/400 автора Солтис Фрэнк

Виртуальная память Одноуровневая память AS/400 получила свое имя в честь первопроходцев разработки виртуальной памяти в 60-х годах. Чтобы понять происхождение этого термина, необходимо углубиться в историю.Впервые виртуальная память появилась в компьютере Atlas, созданном в


Одноуровневая виртуальная память

Из книги Виртуальные машины [Несколько компьютеров в одном] автора Гультяев Алексей Константинович

Одноуровневая виртуальная память В только что описанной реализации виртуальной памяти программист имеет дело с двумя уровнями хранилища: файловая система и виртуальная память разделены. Двухуровневая система хранения вызывает дополнительные накладные расходы.


Постоянная виртуальная память

Из книги Инфобизнес на полную мощность [Удвоение продаж] автора Парабеллум Андрей Алексеевич

Постоянная виртуальная память Размер адреса AS/400 значительно превышает необходимый для покрытия всего дискового пространства. Причина такого положения — другая характеристика одноуровневой памяти, называемая постоянством (persistence). Мы уже говорили об этом в главе 5,


Виртуальная машина изнутри

Из книги Операционная система UNIX автора Робачевский Андрей М.

Виртуальная машина изнутри Когда виртуальная машина создана и запущена, у пользователя может возникнуть полная иллюзия того, что он работает с автономным компьютером, имеющим собственные процессор, оперативную память, видеосистему и (как правило) «стандартный» набор


Глава 7. «Виртуальная могила»

Из книги Цифровая фотография. Трюки и эффекты автора Гурский Юрий Анатольевич

Глава 7. «Виртуальная могила» Когда умирает человек, от него остаются не только личные вещи и атрибуты земной жизни, но и профайл в соцсети.С этого момента страничка усопшего превращается в виртуальный мемориал и становится своего рода проводником в загробный мир,


Виртуальная и физическая память

Из книги Компьютерные террористы [Новейшие технологии на службе преступного мира] автора Ревяко Татьяна Ивановна

Виртуальная и физическая память Оперативная память является, пожалуй, одним из наиболее дорогих компонентов компьютерной системы. Ранние системы UNIX имели в своем распоряжении 64 Кбайт оперативной памяти, и это количество было явно недостаточным, современные компьютеры


17.5.6. Виртуальная функция eval()

Из книги Выжить в цифровом мире. Иллюстрированные советы от «Лаборатории Касперского» автора Дьяков Михаил

17.5.6. Виртуальная функция eval() В основе иерархии классов Query лежит виртуальная функция eval() (но с точки зрения возможностей языка она наименее интересна). Как и для других функций-членов, разумной реализации eval() в абстрактном классе Query нет, поэтому мы объявляем ее чисто


15.1. Виртуальная парикмахерская

Из книги автора

15.1. Виртуальная парикмахерская Данный пример посвящен изменению цвета волос. Эта задача является достаточно востребованной и особый интерес может вызвать как у дизайнеров причесок, так и у любителей цифровой фотографии. Действительно, всем интересно увидеть себя или


17.2. Виртуальная косметика

Из книги автора

17.2. Виртуальная косметика Макияж умеет делать практически каждая женщина. Именно макияж помогает подчеркнуть достоинства внешности и скрыть ее недостатки. А что если вы не совсем уверены в том, что вам идет, а что нет? Неужели нужно идти в салон и тратить большие деньги на


Совет 22: Виртуальная слежка

Из книги автора

Совет 22: Виртуальная слежка Если вас планируют ограбить предусмотрительные преступники, то за вами, за вашей квартирой, дачей или машиной сначала установят наблюдение. Впрочем, это муторное и небезопасное дело уже выходит из моды: подросло поколение высокотехнологичных