Вызов метода child из родительского конструктора

Это должно печатать "GLES2", но это не так. Есть ли способ исправить это?

#include <iostream>
#include <string>

using namespace std;

class Rasterizer {
protected:
        virtual string get_driver_name() const { return "???"; }
        Rasterizer();
};

class RasterizerGLES2 : public Rasterizer {
        virtual string get_driver_name() const { return "GLES2"; }
};

Rasterizer::Rasterizer() {
        cout << get_driver_name();
}

int main() {
        RasterizerGLES2();
}

http://codepad.org/dHZYtOeB

4b9b3361