С++ - язык, который изучается постепенно.Преобразование указываемого объекта в грань
                   Справочники Всё для создания сайта

Ссылки


Home
Бизнес
Справочники
Советы







Материалы книги получены с http://www.itlibitum.ru/

Преобразование указываемого объекта в грань

Итак, вы хотите получить грань по имеющемуся указываемому объекту. Для этого существует много способов, однако наиболее соответствующий стилю C++ заключается в использовании операторов преобразования.

class View {

public:

operator ViewEvents() { return new ViewEvents(this); }

operator ViewDrawing() { return new ViewDrawing(this); }

};

Другой вариант - разрешить пользователю напрямую использовать конструкторы класса грани:

ViewEvents ve(aView);

Об их достоинствах и недостатках можно спорить долго, но лично я предпочитаю первый способ по причинам, о которых мы вскоре поговорим. Существует еще один способ, который тоже заслуживает упоминания - присвоить каждому типу грани уникальный идентификатор и затем создать единую, многоцелевую функцию генерации граней для всех классов. Такая функция получает идентификатор типа грани в качестве аргумента и возвращает грань, если она поддерживается объектом, и NULL - в противном случае. Те из вас, кому приходилось пользоваться технологиями СОМ и OLE компании Microsoft, узнают знакомую функцию QueryInterface, поддерживаемую всеми объектами.


Назад    Содержание    Далее    

Home  Создание сайтов  Учебник по записи CD  Справочник Web дизайнера Самоучитель IE PHP и MySQL Компьютерные сети С++ E-mail me

Copyright 2007. Климов Александр. All Right Reserved.
Hosted by uCoz