Отже, я новачок у концепції віртуальних функцій в C ++ і таких потоках, як це добре продати цю концепцію. Добре, я переконаний.
Але чому віртуальні функції називають «віртуальними»? Я маю на увазі такі функції, як "конкретні" як звичайні функції / методи хіба вони? Якби хтось міг пояснити вибір слова "віртуальний" для назви цього поняття, це було б чудово.
Відповіді:
10 за відповідь № 1Віртуальність, якість наявності властивостей чогось, не поділяючи його (реальної чи уявної) фізичної форми
^ http://en.wikipedia.org/wiki/Virtual
Віртуальна функція C ++ видається звичайноюfunction ("має атрибути"), але реалізація, яка буде викликана, не розподіляється за допомогою декларації або, в тому числі, за допомогою вбудованої реалізації.
7 для відповіді № 2
"віртуальна функція" означає функцію-члена, деконкретна реалізація буде залежати від типу об'єкта, до якого вона викликається, під час виконання. Компілятор та підтримка під час виконання мови сприяють цьому.
Ключове слово "віртуальний" на мові C ++ було взято з Simula, що справило враження на Bjarne Stroustrup. Тут набагато більше фону: Чисто віртуальний чи абстрактний, що в назві?
.. SIMULA 67 Common Base Language (1970) .., здається, перша мова, яка запровадила ключові слова OO як клас, об'єкт, а також віртуальний як формальне поняття.