Ist dieses Szenario überhaupt möglich?Erstellen einer abgeleiteten Klasseninstanz aus einer Basisklasseninstanz, ohne die Klassenmitglieder zu kennen
class Base
{
int someBaseMemer;
};
template<class T>
class Derived : public T
{
int someNonBaseMemer;
Derived(T* baseInstance);
};
Ziel:
Base* pBase = new Base();
pBase->someBaseMemer = 123; // Some value set
Derived<Base>* pDerived = new Derived<Base>(pBase);
Der Wert pDerived-> someBaseMemer sollte pBase-> someBaseMember und ähnliche mit anderen Basiselementen equeal sein.
Warum willst du so ein verzerrtes Ding? – GManNickG
StackOverflowException? LOL .... Auf eine ernsthafte Anmerkung ... das wird nicht kompilieren. –
@Elite: Eigentlich wird es, wenn Sie die Mitglieder ändern, öffentlich zu sein. Macht es aber nicht weniger erschreckend. –