Designfrage: Diamond-Problem umgehen?



  • Hallo liebe C++-Community,
    ich stehe gerade vor einer kleinen Designfrage.

    Ich habe eine Klasse Light, die wiederum die Basis für Point- und Directional-Lights bietet.
    Also erben diese beiden jeweils von Light.
    Der Typ Spotlight hingegen vereint die Eigenschaften eines Point- und Directional-Lights, weswegen ich ihn von beiden erben lasse.
    Offensichtlicherweise steht man hierbei vor dem Diamond-Problem.

    Soll ich virtuelle Basisklassen verwenden oder mein Design überdenken, wenn ja, wie?


Anmelden zum Antworten