通过被赋了派生类地址的基类指针调用类中的虚函数,如何还是调用了基类的函数

通过被赋了派生类地址的基类指针调用类中的虚函数,怎么还是调用了基类的函数?
#include <iostream>
using namespace std;

class A
{
public:
virtual void out(int)
{
cout<<"A int"<<endl;
}
void out(double)
{
cout<<"A double"<<endl;
}
};

class B: public A
{
public:
void out(int)
{
cout<<"B int"<<endl;
}
};

void main()
{
B b;
A *pA = &b;
pA->out(1.0);
}

程序输出:
A double

怎么回事,这个不是首先到派生类中找,派生类中是有一个out,但是这个out不是已经把基类中的给out屏蔽了吗?
虚函数

------解决方案--------------------
不会屏蔽的!
因为强转的基类对象,虽然是子类地址!但是基类中 out(double) 是静态地址的!
------解决方案--------------------
B的虚表里面有两个函数  
一个是B:out(int)
另一个是A:out(double)

------解决方案--------------------
引用:
B的虚表里面有两个函数  
一个是B::out(int)
另一个是A::out(double)


嗯,同意
------解决方案--------------------
out(int)
重写了,但是out(double)没有重写
------解决方案--------------------
pA->out(1.0); 这是掉的out(double)
你在是是:pA->out(1);