S
Danke schon mal akari!
Ich hätte noch ein paar kleine Fragen dazu... hoffe ich kann es gut erklären. Also...
Ich kann mit deiner Konstellation ja eine Datenstruktur "Gruppe" anlegen, die entsprechend viele Unterelemente besitzt. Ich habe nun aber den Fall, dass die Unterelemente einmal nur die Informationen für die Anzeige und einmal nur für die Werteverwaltung speichern sollen. Muss ich dann nochmals eine zweite Datenstruktur z.B. "Gruppe_1" anlegen, oder gibt es eine bessere Möglichkeit?
// Kleinster Teil : AnzeigeInformationen
class AnzeigeInformationen
{
...
int Position;
AnsiString Text;
};
// Kleinster Teil : AnzeigeInformationen
class WerteInformationen
{
...
int Wert;
bool isEnable;
};
// Klasse zum Verwalten der Anzeigeinformationen
class GroupAnzeige : public AnzeigeInformationen
{
...
std::vector<AnzeigeInformationen> UnterElemente;
};
// Klasse zum Verwalten der Werteinformationen
class GroupWerte : public WerteInformationen
{
...
std::vector<WerteInformationen> UnterElemente;
};
Weil mit dieser Variante hätte ich das Problem, dass sich die Klassen "GruppeAnzeige" und "GruppeWerte" vom Aufbau her sehr ähneln. Man hat sozusagen die Informationen doppelt hinterlegt, was ich lieber eleganter lösen möchte.
Dann stellt sich für mich noch die Frage, wie ich in der abgeleiteten Klasse "GruppeAnzeige" ein UnterElement mit zusätzlichen Informationen austatten kann?
Also wenn z.B. ein Unterelement neben den Eigenschaften von "AnzeigeInformationen" z.B. noch ein
int Hoehe;
benötigt. Wie kann ich die vorhandenen Eigenschaften sozusagen erweitern?
Kann ich in diesem Zusammenhang auch "structs" erweitern?
Z.B.:
class Basis
{
protected:
struct sTest
{
int i;
}test;
}
class Erweitert : public Basis
{
public:
//Wie könnte ich die Struktur "sTest" um weitere Elemente erweitern???
}
Vielen Dank für die Hilfe.