class Base{
protected:
  int a = 0;
public:
  int Test(){
   return ++a;
  }
}

class Dev : public Base{
public :
   int Test(){
    a += 2;
    return a;
   }
}

int main ()
{
  Base * b = new Dev();
  printf ( "%d", b->Test() );
}

こうやると 1 と表示されます
これを2と表示させる(Devクラスの方のTest関数を呼び出す)ことってできないですかね?