È possibile anche questo scenario?Creare un'istanza di classe derivata da un'istanza di classe base senza conoscere i membri della classe
class Base
{
int someBaseMemer;
};
template<class T>
class Derived : public T
{
int someNonBaseMemer;
Derived(T* baseInstance);
};
Calcio:
Base* pBase = new Base();
pBase->someBaseMemer = 123; // Some value set
Derived<Base>* pDerived = new Derived<Base>(pBase);
Il valore di pDerived-> someBaseMemer dovrebbe essere equeal a pBase-> someBaseMember e simili con altri elementi di base.
Perché vuoi una cosa così contorta? – GManNickG
StackOverflowException? LOL .... Su una nota seria ... questo non verrà compilato. –
@Elite: In realtà, lo sarà, se cambierai i membri in pubblico. Non lo rende meno terrificante. –