Ist es möglich, eine Struktur in einer übergeordneten Klasse zu deklarieren und definieren Sie es in der erbenden Kindklasse (in jeder Kindklasse sollte es anders aussehen)?Erweitern struct in erben Klasse
Ein Beispiel würde wie folgt aussehen:
class parent
{
virtual struct AlwaysDifferentStructure;
//Some methods here
//...
};
class child1 : public parent
{
struct AlwaysDifferentStructure
{
int foo;
}
//Some methods here
//...
};
class child2 : public parent
{
struct AlwaysDifferentStructure
{
char* foo;
float bar;
double foobar;
}
//Some methods here
//...
};
Also eigentlich das, was ich mit der folgenden gehe ich versucht: ich eine Elternklasse bekam shader
und viel erben Klassen (das heißt simple_color_shader
). Jeder Shader hat eine eigene Vertex-Struktur. Nun möchte ich ein Objekt mit einem dieser Shader rendern, aber ich weiß nicht, wie die Vertex-Struktur genau aussieht, weil sie immer anders ist, aber ich brauche sie. Also dachte ich, dass ich die Struktur in allen Kindern einfach neu deklarieren und Zugang durch die Eltern erhalten könnte. So in der object
Klasse sieht es im Grunde wie folgt:
class object
{
parent* m_pParent;
AlwaysDifferentStructure* m_structArray;
};
(Fragen Sie, wenn Sie nicht verstehen, was ich versuche, Ihnen zu sagen, mein Englisch ist nicht so gut)
Meine Frage ist, : Ist das überhaupt möglich und wenn ja, würde ich mich freuen wenn mir jemand sagen könnte wie.
Klingt wie ein [XY Problem] (http://xyproblem.info/). Wenn Sie solch eine Einrichtung hätten, wozu würden Sie sie benutzen? Was versuchst du wirklich zu erreichen? –
Können Sie den "Zugriff durch den übergeordneten Teil" klären? Wie soll der Code aussehen, der 'AlwaysDifferentStructure' verwendet? Das Beispiel, das Sie zeigen, würde glücklich kompilieren, sobald Sie die unsinnige 'virtuelle Struktur AlwaysDifferentStructure; Wenn Sie weitere Hilfe benötigen, müssen Sie die tatsächliche Verwendung anzeigen, mit der Sie Schwierigkeiten haben. –
@IgorTandetnik Gain-Zugriff würde bedeuten, dass ich das Array mit 'new' erstellen und es ist dann das' struct' von den Kindern der Zeiger 'm_pParent' zeigt auf – Rafiwui