Для объявления виртуальной функции используется ключевое слово …
Другие предметы Колледж Виртуальные функции и полиморфизм виртуальная функция ключевое слово C++ основы программирования колледж Новый
В языке программирования C++ для объявления виртуальной функции используется ключевое слово virtual.
Давайте разберемся, что такое виртуальная функция и почему она используется:
Рассмотрим простой пример:
class Animal { public: virtual void makeSound() { cout << "Animal sound" << endl; } }; class Dog : public Animal { public: void makeSound() override { cout << "Woof" << endl; } }; class Cat : public Animal { public: void makeSound() override { cout << "Meow" << endl; } };
В этом примере функция makeSound()
объявлена как виртуальная в базовом классе Animal
. Это позволяет производным классам Dog
и Cat
переопределять ее, предоставляя свою реализацию.
Таким образом, при использовании указателя на базовый класс, который указывает на объект производного класса, будет вызвана правильная версия функции:
Animal* animal = new Dog(); animal->makeSound(); // Выведет: Woof animal = new Cat(); animal->makeSound(); // Выведет: Meow
Итак, ключевое слово virtual позволяет создавать гибкие и расширяемые программные конструкции, используя полиморфизм в C++.