Здравствуйте, sergey2b, Вы писали:
S>есть класс, графическое окно с пару десятком методов для вывода графики
S>оно работает только под виндой а мне надо добавить саппорт linux (код уже есть) S>вомногих приложениях и классах есть поинтер на этот класс S>как можно добавить новый функционал, что бы не менять исходный код прилжений и классов использующих класс окна сейчас
S>пока вижу варианты
S>детский #ifdef (но яуже понял что реализовать просто не удастся)
Для небольших классов годится.
S>изменить существующий класс, фабрика возрашает поинтер на нужный класс и методы используют его
Можно и так.
Еще есть pimpl.
Системозависимая функциональность выносится в отдельный класс и отдельный файл.
Upd. Подумай еще. Может удастся обойтись просто парой реализаций твоего класса — одна для винды, другая — для линюха.
Интерфейс должен быть идентичным.
В зависимости от ОС цепляется либо одна реализация, либо другая — это уже управляется на уровне makefile (подставить своё).
_____________________
С уважением,
Stanislav V. Zudin