Mover constructor para clase derivada

Tengo 2 clases:

template<typename T>
class base{
    T t;
public:
    base(base &&b): t(std::move(b.t)){}
};

template<typename T, typename T2>
class derived : protected base<T>{
    T2 t2;
public:
    derived(derived &&d): base<T>(std::move(d)), t2(std::move(d.t2)){}
};

Me muevo enterod objeto en elderived move-constructor para inicializarbase parte yd se vuelve inválido pero todavía lo necesito para usarlo es parte det2 inicialización

¿Es posible hacer tal cosa?

Respuestas a la pregunta(1)

Su respuesta a la pregunta