Dire que j'ai trois classes de fenêtres, une pour chaque OS que je veux soutenir:Surcharge. -> et :: pour une utilisation dans les classes multi-plateformes
- WindowsWindow
- OSXWindow
- LinuxWindow
Ils tous héritent de la classe Window. C'est aussi la classe que vous instanciez. La classe Window a le. -> et :: opérateurs surchargés, et selon le système d'exploitation (basé sur les IFDEF), il place le pointeur this dans la classe concernée.
Ce que je veux faire est juste de créer une instance de Windows sans aucune idée de ce que le système d'exploitation est en cours d'exécution. Cette pensée est-elle très mauvaise? Le downcast est-il dangereux? Y a-t-il de meilleurs moyens de le faire? Je suis conscient qu'il existe des bibliothèques pour faire cela, mais je veux l'essayer moi-même.
Je suppose que la façon la plus simple est de créer une usine. Mais peut-on faire quelque chose comme ça?
une fonction d'usine statique combinée avec des constructeurs privés; mon meilleur pari? – Mizipzor