Ссылка на неинициализированный объект iniside constructor

Можно передать неинициализированный объект в родительский класс, как в следующем примере

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;
};

Вclass T конструктор,c ссылка на неинициализированный объект Еслиclass T использовалиc объект во время строительства, это, возможно, приведет к ошибке. Но так как это не так, это компилируется и работает нормально. Мой вопрос - это тормозит какую-то парадигму или хорошие директивы дизайна? Если так, каковы альтернативы, потому что я нашел полезным выделить объект, требуемый родителем в подклассе.

Кстати, мне интересно, почему невозможно изменить порядок инициализации, чтобы конструктор базового класса вызывался после инициализации некоторых членов.

Ответы на вопрос(3)

Ваш ответ на вопрос