Как раскрыть скрытую перегрузку из базового класса?

Учитывая этот код:

class base {
public:
  string foo() const; // Want this to be visible in 'derived' class.
}

class derived : public base {
public:
  virtual int foo(int) const; // Causes base class foo() to be hidden.
}

Как я могу сделать base :: foo () видимым для производных, не реплицируя его с помощью перегрузки фиктивного метода, вызывающего базовый класс? Дает ли трюк с использованием , если да, то куда он денется?

class derived : public base {
public:
  virtual int foo(int) const;
  using base::foo;
}
5
задан WilliamKF 2 August 2015 в 16:18
поделиться