Virtuelle Vergleichsoperatoren
Verfasst: 1. Mai 2009 21:34
Der Titel sagt in etwa was ich gerne hätte. Ich weiß aber auch das dies irgendwie wenig Sinn macht. Aber vielleicht gibt es ja Alternativen auf die ich nicht komme. Ich versuche also mal mein Problem zu schildern.
Ich habe zuerst mal folgende Struktur:
Das sind meine Grundklasse für die Unterlisten (gleich genauer). Dann noch folgendes dazu:
Die QList von Base* fülle ich mit "new A1()" oder mit "new A2()". Und dann gibt es noch folgendes
Dabei ist es absolut sicher gestellt das in einer Instanz von "Satz" in "liste" nur Elemente von A1 oder A2 sind. Niemals ist "liste" gemischt. Ich hoffe das war verständlich.
Nun mein Problem: Ich möchte den Inhalt von "liste" mit "qSort" sortieren. Dazu benötige ich aber eine Implemantation von "operator<". Wie stelle ich das am geschicktesten an? denn einfach "virtual bool operator<(...)" geht nicht (oder ich stelle mich zu blöd an).
Grüße,
Willi
Ich habe zuerst mal folgende Struktur:
Code: Alles auswählen
class Base {
}
class A1 : public Base {
}
class A2 : public Base {
}Code: Alles auswählen
class Satz {
QList<Base*> liste;
}Code: Alles auswählen
QList<Satz*> hauptliste;Nun mein Problem: Ich möchte den Inhalt von "liste" mit "qSort" sortieren. Dazu benötige ich aber eine Implemantation von "operator<". Wie stelle ich das am geschicktesten an? denn einfach "virtual bool operator<(...)" geht nicht (oder ich stelle mich zu blöd an).
Grüße,
Willi