Думаю, вы говорите об переопределениях, а не о перегрузках. Квалифицированный вызов функции не будет использовать динамический механизм доставки, и вы можете контролировать то, что переопределять выбрать:
struct base {
virtual void foo() {...}
};
struct derived : base {
virtual void foo() {
base::foo(); // call the override at 'base' level
...
}
};
Если вы на самом деле говорите о перегрузках, вы можете использовать один и тот же механизм, или вы могли бы принести перегрузки в область производного типа:
struct base {
void foo(int);
};
struct derived : base {
using base::foo; // make all overloads of base::foo available here
void foo(double);
void f() { base::foo(1); } // alternatively qualify the function call
};
Я не хочу, чтобы просто быть в состоянии запустить Релевент Foo, я хочу, чтобы запустить супер, а затем другие вещи в смежном классе – user2673108
Я обновил свой пост, чтобы включить базовый класс вызов метода , что позволяет делать то, что вы описываете. Надеюсь это поможет! –