При переопределении виртуального метода C ++, есть ли способ вызвать метод базового класса без указания точного имени базового класса, аналогично тому, как мы можем сделать это в C # с ключевым словом "base"? Я знаю, что это может вступать в конфликт с множественным наследованием, но мне интересно, появилась ли такая возможность в более современных версиях C ++.
То, что я хочу, это что-то вроде этого:
class A
{
public:
virtual void paint() {
// draw something common to all subclasses
}
};
class B : public A
{
public:
virtual void paint() override {
BASE::paint();
// draw something specific to class A
}
};
Я знаю, что в B :: paint () мы можем вызвать A :: paint (), я просто хочу знать, есть ли более «универсальный» способ вызова базового метода без явной ссылки на класс A.
Заранее спасибо.
Andrea