#cpp #ооп #функции
Есть класс.
У него есть другой класс-наследник.
В нём перегружается родительский метод.
Мне нужно из перегруженного метода наследника, вызвать метод родителя.
Как это сделать?
class Foo{
public:
void example(){
// Код родителя
}
};
class Bar : public Foo{
public:
void example(){
// Тут должен выполнится код родителя
// А тут - код наследника
}
};
Ответы
Ответ 1
Можете сделать это следующим образом void example(){ Foo::example(); // А тут - код наследника } или так void example(){ this->Foo::example(); // А тут - код наследника } или (при условии, что метод не является виртуальным), например, так void example(){ static_cast( this )->example(); // А тут - код наследника } Так как метод, объявленный в производном классе, скрывает одноименный метод в родительском классе, то следует использовать квалифицированное имя метода родительского класса.
Комментариев нет:
Отправить комментарий