у меня есть три класса окна, по одному для каждой ОС я хочу поддержать:Перегрузка. -> и :: для использования в мультиплатформенных классах
- WindowsWindow
- OSXWindow
- LinuxWindow
They все наследуются от Окно класс. Это также класс, который вы создаете. Класс Window имеет. -> и :: операторы перегружены, и в зависимости от того, на какой ОС работало (на основе IFDEF), он переводит этот указатель в соответствующий класс.
Что я хочу сделать, так это просто создать экземпляр Window без каких-либо подсказок относительно того, какая ОС работает. Разве это неправильно? Является ли уныние опасным? Есть ли лучшие способы сделать это?
Im известно, что для этого есть библиотеки, но я хочу попробовать это сам.
Я думаю, что самый простой способ - создать завод. Но может ли что-то подобное сделать?
статическая заводская функция объединена с частными конструкторами; мой лучший выбор? – Mizipzor