Mein C++ - Framework verfügt über Schaltflächen. Ein Button stammt von Control. Eine Funktion, die ein Control akzeptiert, kann also einen Button als Argument verwenden. So weit, ist es gut.C++ - Vorlagen und Vererbung
Ich habe auch Liste <
T>. Die Liste <
Schaltfläche> stammt jedoch nicht von der Liste <
Steuerung> ab, was bedeutet, dass eine Funktion, die eine Liste von Steuerelementen akzeptiert, keine Liste von Schaltflächen als Argument verwenden kann. Das ist unglücklich.
Vielleicht ist dies eine dumme Frage, aber ich sehe nicht, wie kann ich diese lösen :(Liste <
Knopf >
von Liste <
Steuer >
ableiten sollte, aber ich sehe keinen Weg, dies automatisch geschehen lassen“ “.
OK, mein Schlechter. Ich habe Listen von Zeigern, nicht Listen von Objekten. Und natürlich würde das Speichern meiner Button * s in einer Liste von Control * s das Funktionsaufrufproblem beheben, und das mache ich normalerweise, außer wenn ich eine Liste von Button * s benötige, um sie als Button zu verwenden, nicht als Control. – ggambett
Nun, was hast du? A Liste
Wenn Sie nur eine Liste haben, und wollen spezielle Fall einzelne Elemente, wenn sie von Button-Typ sind, werden Sie gezwungen, Dynamic_cast Mate zu verwenden. –