Typeid no funciona correctamente

No puedo obtener la función tipográfica correctamente. Me estoy perdiendo de algo

Código:

class A
{
     public:
     int a1;
     A()
    {
    }
};


class B: public A
{
    public:
    int b1;
    B()
    {
    }
};


int main()
{
     B tempb;
     A tempa;
     A * ptempa;
     ptempa = &tempb;

     std::cout << typeid(tempb).name() << std::endl;
     std::cout << typeid(tempa).name() << std::endl;
     std::cout << typeid(*ptempa).name() << std::endl;

     return 0;
}

Siempre imprime:

Clase B Clase A Clase A

Estoy usando VS2010 para mi proyecto

Respuestas a la pregunta(3)

Su respuesta a la pregunta