pbase 都已经指向继承对象了,为什么不能执行继承对象的方法?解决方法

pbase 都已经指向继承对象了,为什么不能执行继承对象的方法?
#include <iostream>
using   namespace   std;

class   AA
{
//public:
// void   show()
// {
// cout < < "AA " < <endl;
// }
};
class   BB   :   public   AA
{
public:
void   show()
{
cout < < "BB " < <endl;
}
};
class   CC   :public   AA
{
public:
void   show()
{
cout < < "CC " < <endl;
}
};

int   main()
{
AA   *pbase;
BB   bb;
CC   cc;
pbase=&bb;
pbase-> show   ();
pbase=&cc;
pbase-> show();

}

------解决方案--------------------
class AA
{
public:
virtual void show() = 0;
};
------解决方案--------------------
AA类型并没有show()方法,这不是公牛挤奶吗。
通过基类去调用派生类的方法是可以的,但是,基类要提供一个界面,你可以提供一个空的虚函数。