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