Использование всех перегрузок базового класса

Когда подкласс переопределяет метод базового класса, все перегрузки базового класса недоступны из подкласса. Для их использования необходимо добавить строку using BaseClass::Method; в подкласс.

Есть ли быстрый способ унаследовать перегрузки базового класса для ВСЕХ переопределенных методов? (не нужно явно указывать using ... для каждого метода)


person sold    schedule 01.10.2009    source источник


Ответы (2)


Нет. Это возможно только с объявлением using и работает только с отдельными методами.

person Troubadour    schedule 01.10.2009
comment
Я хочу подчеркнуть using declaration. Это ключевое слово для поиска более подробной информации, поскольку using используется в нескольких различных контекстах C++. - person gimpf; 01.10.2009

Вы можете получить доступ к методу базового класса, явно указав область действия класса, когда вы хотите вызвать метод...

e.g

class Base{
 public: void foo(){}
};

class Derived : public Base {
 public: void foo(int){}
};

int main()
{
    Derived d;
    *d.Base::foo();* // like this
}
person Ashish    schedule 27.10.2009