Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ XML ошибка формата https://www.cyberforum.ru/ cpp/ thread123873.html
не знаю куда еще написать, браузер при открытии xml пишет XML Parsing Error: not well-formed Location:...
Правильное чтение из файла! C++
Помогите пожалуйста, уже опробовал все((( Суть задачи такая, есть файл data.txt в нем есть числа выглядит он так: 200,100,100, 100, 300 Ниже представлен код программы, которая просит ввести...
C++ Функции! Приношу свои извинения за этот глупый вопрос, я начинающий программист и сейчас прохожу урок Функции, но не могу понять, очень не понятно описывается, подскажите что такое функции и для чего они... https://www.cyberforum.ru/ cpp/ thread123596.html C++ Любопытственная ошибка В программе глобально объявлен буфер для передачи сообщений по каналу: char MsgBuf; Далее при формировани сообщения: MsgBuf="go"; Следующая ошибка: error C2440: '=' : cannot convert from... https://www.cyberforum.ru/ cpp/ thread123262.html
C++ Перевод из Паскаля в СИ.
Доброго времени суток. Помогите перевести программу из паскаля в СИ. 1 программа: Program oblast; uses crt; var a,b,z:real; c:boolean; begin clrscr; write('Введите a='); readln(a);
C++ Динамические потоки c обрабатываемой памятью https://www.cyberforum.ru/ cpp/ thread123061.html
Нужна ваша помощь. #include "WinThread.h" LPVOID hf1,hf2,hf3; iXml* Tr; AnsiString str; std::vector<GraphObj *> *GNO; typedef struct Params
C++ из паскаля в си_1 program kontrolnaya; uses crt; var a,b,z,r:real; begin clrscr; write('a=');readln(a); write('b=');readln(b); write('r=');readln(r); if (((a-5)*(a-5)+b*b<r*r) and not((a+5)*(a+5)+b*b<r*r)) or... https://www.cyberforum.ru/ cpp/ thread123000.html из паскаля в си_2 C++
пожалуйста, помогите переписать на с++(((((((((((((( program kontr; uses crt; const nmax=100; type mas=array of integer; procedure Vvod(var v:mas;var x:byte); var i:byte; begin
C++ В каком SDK находятся библиотечные файлы Urlmon.lib winmm.lib https://www.cyberforum.ru/ cpp/ thread122899.html
В каком SDK находятся библиотечные файлы Urlmon.lib winmm.lib? Я предполагал что в Direct SDK(у меня DirectX SDK 2006), однако там не нашел. Может кто подскажет где находятся и какую...
C++ Транслятор с паскаля на С https://www.cyberforum.ru/ cpp/ thread122831.html
Салют! Можете привести самый простой пример транслятора с паскаля на С, заранее спасибо
C++ Програмирование С (без (++))
Помогите с решением и если это важно работаем с программой Borland ++++++++++++++++++++++ 1. Дайте определение строки. Чем строка отличается от символьного массива? Приведите пример. 2. Какие...
C++ Сгенирировать тест на stamina https://www.cyberforum.ru/ cpp/ thread122001.html
Дело в том, что мне надо давать слепой набор, для этого хотчу сгенерировать последовательность слов, впихнуть их в stamina и тренироваться. Вот только самому их прибумывать не охота, да и я хочу...
Evg
Эксперт CАвтор FAQ
21235 / 8248 / 636
Регистрация: 30.03.2009
Сообщений: 22,600
Записей в блоге: 30
13.03.2011, 18:18 0

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

13.03.2011, 18:18. Показов 29800. Ответов 40
Метки (Все метки)

Ответ

Цитата Сообщение от niXman Посмотреть сообщение
потому что он базовый. единственное что реализует plugin_object, так это:
name()
description()
version()

и наследование от этого типа, обязывает реализатора плагина, переопределить эти методы, дабы они возвращали информацию о реализуемом плагине.
Вот всё то, что здесь описано, и является интерфейсом. Типа type1, методов set и get в интерфейсе нет, а следовательно, в основной программе их никак нельзя использовать

Цитата Сообщение от niXman Посмотреть сообщение
к примеру, я выкину тип plugin_object, и изменю функцию instance() так, чтоб она возвращала указатель на void.
это будет то, о чем говоришь ты?
Тогда я не очень понимаю, что в итоге-то останется?

Iron Bug приводила ссылку со своей реализацией. Вот там всё было правильно: из главной программы не было никаких обращений, выходящих за рамки интерфейса.

Вот возьми, к примеру, фотошоп. У него куча всяких фильтров (которые выполняют преобразование изображения). Все они реализованы в виде плагинов и могут добавляться к программе (в том числе и от сторонних разработчиков). Интерфейс плагина, в самом примитивном случае состоит из следующего:
- создать экземпляр класса "плагин". Реально создастся экземпляр пронаследованного класса, но он будет отдан программе в виде указателя на базовый класс
- выполнить преобразование картинки: в некий метод, определённый в базовом классе, отдаётся картинка на вход и принимается картинка на выходе.

Главная программа никоим образом не знает о том, через какой класс всё это реализовано внутри плагина. Знает лишь то, что этот класс является производным классом от базового класса плагина. И главная программа пользуется лишь тем интерфейсом, который описан в базовом классе. Никаких Set и get, который в базовом классе нет

Вернуться к обсуждению:
Теория плагинов C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2011, 18:18
Готовые ответы и решения:

Написание плагинов для notepad++
Добрый день! Есть задача написания плагина для notepad++ - немного модифицировать его графический...

Система плагинов
Добрый день форумчане. У меня к вам есть вопрос. Кратко. Как можно реализовать систему плагинов?...

Взаимодействие плагинов
Приветствую, товарищи. Возникла такая необходимость. Намерен сделать два плагина. Конкретнее, два...

Подключение плагинов к программе
Появилась необходимость в разработке текстового редактора с возможностью подключения своих...

40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2011, 18:18
Помогаю со студенческими работами здесь

Как видео с камеры отобразить в браузере без использования сторонних плагинов?
Есть простенький веб сервер. на компьютере, на котором развернут сервер, есть встроенная камера....

Реализовать систему плагинов (модулей), каждый из которых должен работать в отдельном потоке
Всем доброго времени суток, не могли бы вы мне помочь реализовать систему плагинов( модулей)....

Взаимодействие плагинов с ядром
Разбираю теорию плагинов. Как выполнить какую либо функцию из .so, это понятно и просто, а вот как...

Установка плагинов cppunit + ecut в Eclipse
Всем доброго времени суток, не могу установить плагины для Eclipse - cppunit + ecut, нужны для юнит...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru