Ein Zeiger auf abstrakte Template-Basisklasse?

8

Ich kann das nicht herausfinden. Ich brauche eine abstrakte Vorlage Basisklasse, die ist das Folgende:

%Vor%

Daraus leite ich ab, was die genaue Verwendung von Dendrite spezifiziert.

Jetzt das Problem.

Wie erstelle ich einen Zeigervektor auf die Basisklasse ohne spezifischen Typ, der Ich möchte spezifizieren, indem ich Elemente später darauf dränge? Etwas wie:

%Vor%

Ist das möglich oder fehlt mir hier etwas sehr Grundlegendes?

    
nhaa123 30.09.2009, 11:28
quelle

2 Antworten

14

Normalerweise geschieht dies, indem Ihre Vorlage von einer Interface-Klasse, IE:

, erbt %Vor%

und dann sind Sie IDendrite-Klasse könnte als Zeiger gespeichert werden:

%Vor%

In Ihrer Situation nehmen Sie jedoch den Vorlagenparameter als Teil Ihrer Schnittstelle. Möglicherweise müssen Sie dies auch umbrechen.

%Vor%

geben Sie

%Vor%     
Doug T. 30.09.2009, 11:30
quelle
0

Ja, das ist möglich. Stellen Sie nur sicher, dass Sie virtuelle Funktionen und einen virtuellen Destruktor bereitstellen. Darüber hinaus können Sie typeid verwenden, um den tatsächlichen Typ zu erhalten (sowie dynamic_cast, um den Typ zu überprüfen)

    
vehomzzz 30.09.2009 12:51
quelle