Форум программистов, компьютерный форум, киберфорум
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++ Функции!
Приношу свои извинения за этот глупый вопрос, я начинающий программист и сейчас прохожу урок Функции, но не могу понять, очень не понятно описывается, подскажите что такое функции и для чего они...
C++ Любопытственная ошибка В программе глобально объявлен буфер для передачи сообщений по каналу: char MsgBuf; Далее при формировани сообщения: MsgBuf="go"; Следующая ошибка: error C2440: '=' : cannot convert from... https://www.cyberforum.ru/ cpp/ thread123262.html
C++ Перевод из Паскаля в СИ. https://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
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...
C++ из паскаля в си_2 пожалуйста, помогите переписать на с++(((((((((((((( program kontr; uses crt; const nmax=100; type mas=array of integer; procedure Vvod(var v:mas;var x:byte); var i:byte; begin https://www.cyberforum.ru/ cpp/ thread122999.html
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
Evg
Эксперт CАвтор FAQ
21147 / 8163 / 628
Регистрация: 30.03.2009
Сообщений: 22,463
Записей в блоге: 30
13.03.2011, 18:18 0

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

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

Ответ

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

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

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

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

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

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

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

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

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

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

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

40
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.