Referência ao construtor iniside de objeto não inicializado

É possível passar um objeto não inicializado para uma classe pai, como no exemplo a seguir

class C
{
    public:
        C(int i): 
            m_i(i)
        {};

        int m_i;
}

class T
{
    public:
        T(C & c):
            m_c(c)
        {
        };

        C & m_c;
};


class ST : public T
{
    public:
        ST():
            T(m_ci),
            m_ci(999)
        {
        };

        C m_ci;
};

Noclass T construtor,c é uma referência ao objeto não inicializado. E seclass T estavam usandoc objeto durante a construção, isso possivelmente levaria a um erro. Mas como não é, isso compila e funciona bem. Minha pergunta é: isso trava algum tipo de paradigma ou boas diretrizes de design? Se sim, quais são as alternativas, porque achei útil alocar um objeto exigido pelo pai em uma subclasse.

Em uma nota lateral, pergunto-me por que não é possível alterar a ordem de inicialização, para que o construtor da classe base seja chamado após a inicialização de alguns membros.

questionAnswers(3)

yourAnswerToTheQuestion