派生クラスで外部の基本クラスのprotectedメンバにアクセスしたいばあいってどうするのよ

class Base
{
protected:
 int hoge;
};

class Derived
{
public:
 void f(Base * pBase) {
  ... pBase->hoge ... // エラー
 }

 void f(Derived * pDerived) {
  ... pDerived->hoge ... // 問題ない
 }
};