Видео: В чем разница между виртуальной функцией и переопределением функции?
2024 Автор: Lynn Donovan | [email protected]. Последнее изменение: 2023-12-15 23:52
Виртуальные функции не может быть статичным, а также не может быть другом функция другого класса. Они всегда определены в базовом классе и отвергнутый в производном классе. Для производного класса не обязательно отвергать (или переопределить виртуальная функция ), в этом случае версия базового класса функция используется.
Кроме того, в чем разница между виртуальной функцией и чистой виртуальной функцией?
Главный разница между ' виртуальная функция 'и' чистая виртуальная функция ' в том, что ' виртуальная функция 'имеет свое определение в базовый класс, а также наследующие производные классы переопределяют его. В чистая виртуальная функция не имеет определения в базовый класс, и все наследующие производные классы должны его переопределить.
Следовательно, возникает вопрос, что такое переопределение функций в C ++? Переопределение функций C ++ . Если производный класс определяет то же самое функция как определено в его базовом классе, он известен как переопределение функции в C ++. Он используется для достижения полиморфизма во время выполнения. Это позволяет вам предоставить конкретную реализацию функция который уже предоставляется его базовым классом.
Точно так же люди спрашивают, почему мы используем виртуальные функции?
Виртуальные функции находятся использовал для поддержки «Полиморфизма времени выполнения». Когда виртуальная функция вызывается с помощью указателя базового класса, компилятор решает во время выполнения, какая версия функция то есть должна быть вызвана версия базового класса или версия переопределенного производного класса. Это называется полиморфизмом времени выполнения.
Можете ли вы переопределить не виртуальную функцию в C ++?
В c ++ все члены класса функции находятся не - виртуальный по умолчанию. Они жестяная банка быть сделано виртуальный используя виртуальный ключевое слово в функция подпись. Как указано выше если в функция базового класса производится виртуальный затем функция производных или дочерних классов функция с таким же именем может перекрыть базовый класс функция.
Рекомендуемые:
В чем разница между Pebble Tec и Pebble Sheen?
Pebble Tec изготовлен из натуральной полированной гальки, которая создает неровную текстуру и нескользкую поверхность. Pebble Sheen использует ту же технологию, что и Pebble Tec, но использует более мелкие камешки для более гладкой отделки
В чем разница между когнитивным психологом и когнитивным нейробиологом?
Когнитивная психология больше ориентирована на обработку информации и поведение. Когнитивная нейробиология изучает биологию, лежащую в основе обработки информации и поведения. когнитивная нейробиология в центре
В чем разница между виртуальной функцией и чистой виртуальной функцией в C ++?
Основное различие между «виртуальной функцией» и «чистой виртуальной функцией» состоит в том, что «виртуальная функция» имеет свое определение в базовом классе, а также наследующие производные классы переопределяют ее. Чистая виртуальная функция не имеет определения в базовом классе, и все наследующие производные классы должны ее переопределить
В чем разница между переопределением метода и скрытием метода?
При переопределении метода, когда ссылочная переменная базового класса указывает на объект производного класса, она вызывает переопределенный метод в производном классе. При скрытии метода, когда ссылочная переменная базового класса указывает на объект производного класса, она вызовет скрытый метод в базовом классе
В чем сходство и в чем разница между реле и ПЛК?
Реле - это электромеханические переключатели с катушкой и двумя типами контактов: нормально разомкнутым и нормально замкнутым. Но программируемый логический контроллер, ПЛК - это мини-компьютер, который может принимать решения на основе программы и ее ввода и вывода