Liste von Listen erstellen (CList)
-
Hi,
ich würde gerne eine Liste erstellen die wieder ein Objekt mit einer Liste erhält, also z.B. eine Liste von Personen und jede Person hat wieder eine Liste von Telefonnummern. Geht das mit CList (und wie in etwa) oder soll ich besser ein anderes Datenobjekt benutzten?
Schon mal Thanks für alle Hilfe!
Stephan
-
auf die Frage an sich weiß ich keine Antwort, aber wenn du so verschachtelte Listen hast, bietet sich da nicht eher ne DB an? Ich hab ähnliches Problem nur nicht mit Personen und Tel.Nummern sondern ich hab eine Liste von PCD-Nummern und an jeder hängen mehrere Dokumente.
-
Na logisch geht das.
Du machst dir eine Klasse, wo du die Personendaten und die Telefonnummernliste drin kapselst.
Und davon kannst du ja ohne Probleme eine CList erstellen.Sowas kannst du übrigens beliebig komplex machen - die Grenze ist nur da, wo du den Überblick verlierst oder der RAM platzt.
-
Bekomme aber folgende Fehlermeldung aus der ich echt nicht schlau werde (CStand wäre im obigen Bsp die Personenklasse):
C:\program files\...\mfc\include\afxtempl.h(1064) : error C2664: 'struct __POSITION *__thiscall CList<class CStand,class CStand>::AddTail(class CStand)' : cannot convert parameter 1 from 'class CStand' to 'class CStand'
No copy constructor available for class 'CStand'
c:\program files\...\mfc\include\afxtempl.h(1566) : while compiling class-template member function 'void __thiscall CList<class CStand,class CStand>::Serialize(class CArchive &)'Muss ich einen 'copy constructor' machen? Sorry, verstehe es echt nicht und hoffentlich stelle ich mich nicht zu doof an!
-
tepper schrieb:
Muss ich einen 'copy constructor' machen? Sorry, verstehe es echt nicht und hoffentlich stelle ich mich nicht zu doof an!
Ja, mach das mal.
Ohne Copy-Konstruktor sind keine Zuweisungen möglich. Auch um die anderen Operatoren musst du dich selber kümmern.