Я слышал, что для написания кода Cross Platform С++ необходимо определить классы следующим образом (например, класс Window):
window.h
window_win32.cpp
window_linux.cpp
window_osx.cpp
а затем соответствующим образом выберите файл реализации.
Но что, если у меня есть члены этого класса, относящиеся к os? Как член HWND
для реализации Win32. Я не могу поместить его в window.h
или когда я попытаюсь скомпилировать его, скажем, в Linux, он создаст ошибку компилятора.
Мне нужно #ifdef
его? Я уже задал аналогичный вопрос, но этот вопрос больше сосредоточен на этой конкретной проблеме.