내가 세 개의 창 클래스, 각 OS에 대한 하나가 말 멀티 클래스에서 사용하기 위해 내가 지원하려는 :과부하. ->와 ::
- WindowsWindow
- OSXWindow
- LinuxWindow
에게 그들은을 모두 창 클래스에서 상속됩니다. 이 클래스는 인스턴스화하는 클래스이기도합니다. Window 클래스에는. -> 및 :: 연산자가 오버로드되고 어떤 OS가 실행 중인지 (IFDEF에 따라)이 포인터를 관련 클래스에 캐스트합니다.
내가하고 싶은 일은 운영 체제가 실행되고 있는지에 대한 단서없이 Window 인스턴스를 만드는 것입니다. 이것은 매우 잘못된 생각입니까? 다운 캐스트가 위험한가요? 이 작업을 수행하는 더 좋은 방법이 있습니까?
실제로이 작업을 수행 할 라이브러리가 있음을 알고 있지만 직접 해보고 싶습니다.
가장 쉬운 방법은 공장을 만드는 것입니다. 하지만 이런 일을 할 수 있을까요?
정적 공장 기능 결합 개인 생성자와; 내 최선의 내기? – Mizipzor