![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 08.10.2007
Сообщений: 11
|
![]()
Есть программа, которая неким образом изменяет изображение.
Данные в изображении ( пиксели ) могут храниться в массиве float / double. В зависимости от того, включен ли соответствующий check box. Соответственно нужно придумать класс/несколько классов хранящих изображения ( class Image ) и осуществляющие простейшие дейтвия : инициализация, созданине копии, "извлечение" строки из изображения. Обработку изображения ( class Processor ) хотелось бы реализовать в отдельном классе. Подскажите , плиз, как организовать эту полиморфность по типу для класса изображения и организовать, если возможно единый интерфейс между классами Image - Processor. Последний раз редактировалось XuMuK; 28.05.2014 в 18:07. Причина: уточнение |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]() Код:
Последний раз редактировалось _Bers; 29.05.2014 в 00:30. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 08.10.2007
Сообщений: 11
|
![]()
_Bers, я так понял, нужно будет создавать 2 потомка : ConcreteImageFloat и ConcreteImageDouble ? И соответственно 2 Processor ... по одному на каждый тип
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]() Цитата:
Например: независимо от внутреннего строения картинки, у всех у них есть ширина и высота. Соответственно, методы получения высоты и ширины можно сделать одинаковым для всех картинок. Соответственно, этот общий функционал можно перетащить в базу. ---- Процессоров может быть несколько штук при условии, если нужно по разному обрабатывать картинки. Если же принцип обработки один и тот же - достаточно одного процессора, который работает с "базовой" картинкой. |
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,368
|
![]()
Еще можно сделать родительский double GetPixel(col, row) и тогда процессор будет только один.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не понятная проблема, адрес переменной класса у 2 объектов класса одинаков | Soeth | Общие вопросы C/C++ | 8 | 06.11.2013 05:10 |
Как создать метод класса, возвращающий объекты (поля класса) разных типов | frosich | Общие вопросы Delphi | 3 | 01.03.2013 19:29 |
Функция базового класса вызывает критическую ошибку при вызове для класса-потомка | Archet | Общие вопросы C/C++ | 7 | 17.01.2012 20:17 |
Конструктор класса не хочет принимать в качестве параметра адрес объекта другого класса | Jugger | Помощь студентам | 3 | 05.01.2012 04:10 |
Определение типа класса по переменной на объект этого класса при компиляции | phomm | Общие вопросы Delphi | 24 | 08.04.2011 14:11 |