PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : qt QValueList und QPtrList



sschlarb
03-10-2004, 12:53
Hallo,

ich habe Schwierigkeiten mit dem Einsatz von QPtrList und QValueList.

In den unten stehenden Code-Ausschnitten verwende ich jeweils einen Value-basierten und einen Pointer-basierten Container.

Die Klasse MyObject ist von MyObjectParent abgeleitet, in der die Methode virtual void toString(); deklariert ist.

In der Klasse MyObject ist die Methode void toString(); auch deklariert, so dass sie wegen der virtual-Deklaration bevorzugt werden müsste.

Aber während in Beispiel 1 für mich erwartungsgemäß

MyObject::toString();

aufgerufen wird,

verwendet Beispiel 2 trotz der virtual-Deklaration

MyObjectParent::toString();

Hat jemand eine Idee, warum?

Beispiel 1:



QPtrList<MyObject> list;
list.append(new MyObject());
textDisplay->append((list.first())->toString());


Beispiel 2:



QValueList<MyObject> setList;
setList.append(MyObject());
textDisplay->append((setList.first()).toString());

peschmae
03-10-2004, 14:24
Wenn ich das richtig verstanden habe hat dein Problem nichts mit QPtrList und/oder QValueList zu tun, oder?

Poste mal den Code, ist ja wohl nicht so viel.

MfG Peschmä

anda_skoa
03-10-2004, 18:35
Hmm, vielleicht hast du anders als im obigen Code bei der QValueList als Elementtyp MyObjectParent statt MyObject angegeben.

Ciao,
_