Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge

Wie in VC++ Strukturen klassenübergreifend kopieren (zuweisen)

(Anonym) / 2 Antworten / Flachansicht Nickles

Ich kann mit
struct Mensch
{
BYTE Alter;
CString Name;
};
Mensch M1,M2;

eine Struktur und 2 Membervariablen global in einer Dialogklasse definieren.
Im Dialog kann ich dann den Inhalt zuweisen

M1.Name="Hans"; M1.Alter=27;
M2=M1;

und kopieren.

Wenn ich jetzt Mensch auch außerhalb der Dialogklasse verwenden und kopieren will muss ich in der aufrufenden Klasse die Struct Mensch neu definieren.
Da der Compiler nicht weiß, daß es die gleiche Struktur ist, kann ich sie nicht mehr mit = kopieren. z.B. um die Membervariablen des Dialogs zu initialisieren.
Ich löse das immer durch ne Klasse statt ner Struktur und definiere mir einen neuen = Operator für ne CopyFunktion.
Ich finde das Verfahren aber sehr mühselig und muss außerdem wenn ich ein neues Element einfüge auch immer die Operator Funktion umschreiben.

Weiß jemand Rat.
Gruß Wolf



bei Antwort benachrichtigen