Back to questions
Открытые Решения
Junior — Middle
86
Является ли виртуальный метод допустимым шаблоном в C++?
Companies where asked
Answer from AI
sobes.tech AI
Да, виртуальный метод является допустимым и широко используемым шаблоном в C++. Виртуальные методы позволяют реализовать полиморфизм — возможность вызывать методы производных классов через указатели или ссылки на базовый класс.
Пример:
class Base {
public:
virtual void show() {
std::cout << "Base show" << std::endl;
}
virtual ~Base() = default; // Виртуальный деструктор
};
class Derived : public Base {
public:
void show() override {
std::cout << "Derived show" << std::endl;
}
};
int main() {
Base* obj = new Derived();
obj->show(); // Вызовет Derived::show благодаря виртуальному методу
delete obj;
}
Использование виртуальных методов — стандартный способ реализации динамического полиморфизма в C++.