Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Теория плагинов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ XML ошибка формата http://www.cyberforum.ru/cpp/thread123873.html
не знаю куда еще написать, браузер при открытии xml пишет XML Parsing Error: not well-formed Location:...
C++ Правильное чтение из файла! Помогите пожалуйста, уже опробовал все((( Суть задачи такая, есть файл data.txt в нем есть числа выглядит он так: 200,100,100, 100, 300 Ниже представлен код программы, которая просит ввести... http://www.cyberforum.ru/cpp/thread123639.html
C++ Функции!
Приношу свои извинения за этот глупый вопрос, я начинающий программист и сейчас прохожу урок Функции, но не могу понять, очень не понятно описывается, подскажите что такое функции и для чего они...
C++ Любопытственная ошибка
В программе глобально объявлен буфер для передачи сообщений по каналу: char MsgBuf; Далее при формировани сообщения: MsgBuf="go"; Следующая ошибка: error C2440: '=' : cannot convert from...
C++ Перевод из Паскаля в СИ. http://www.cyberforum.ru/cpp/thread123250.html
Доброго времени суток. Помогите перевести программу из паскаля в СИ. 1 программа: Program oblast; uses crt; var a,b,z:real; c:boolean; begin clrscr; write('Введите a='); readln(a);
C++ Динамические потоки c обрабатываемой памятью Нужна ваша помощь. #include "WinThread.h" LPVOID hf1,hf2,hf3; iXml* Tr; AnsiString str; std::vector<GraphObj *> *GNO; typedef struct Params подробнее

Показать сообщение отдельно
niXman
Эксперт С++
3138 / 1450 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
12.03.2011, 14:57  [ТС]
мы говорим о разном.

plugin_object - это базовый абстрактный тип. он нужен для того, чтоб обязать кодера переопределить его методы.
plugin_loader::instance() - возвращает указатель на базовый тип. это нужно для того чтоб можно было получить информацию о плагине.
type1 - это и есть реализация, которая определяет поведение плагина. в данном примере, она варит плюшки. так же, в приложение я могу добавить плагин который будет жарить пельмени.

тут главное, что при помощи plugin_loader::instance() я получаю указатель на базовый тип, и могу его кастовать к нужному, именно потому, что плагин и его лоадер ничего не знают о внутренней реализации.

Добавлено через 55 секунд
другими словами: это типичный динамический полиморфизм.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru