Typeid не работает правильно

Я не могу получить функцию typeid правильно. Я что-то пропустил

Код:

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

Он всегда печатает:

Класс B Класс A Класс A

Я использую VS2010 для своего проекта

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

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