/ / Чому віртуальні функції в C ++ називають "віртуальними"? [закрито] - c ++, віртуальний

Чому віртуальні функції в C ++ називаються "віртуальними"? [закрито] - c + +, віртуальне

Отже, я новачок у концепції віртуальних функцій в C ++ і таких потоках, як це добре продати цю концепцію. Добре, я переконаний.

Але чому віртуальні функції називають «віртуальними»? Я маю на увазі такі функції, як "конкретні" як звичайні функції / методи хіба вони? Якби хтось міг пояснити вибір слова "віртуальний" для назви цього поняття, це було б чудово.

Відповіді:

10 за відповідь № 1

Віртуальність, якість наявності властивостей чогось, не поділяючи його (реальної чи уявної) фізичної форми

^ http://en.wikipedia.org/wiki/Virtual

Віртуальна функція C ++ видається звичайноюfunction ("має атрибути"), але реалізація, яка буде викликана, не розподіляється за допомогою декларації або, в тому числі, за допомогою вбудованої реалізації.


7 для відповіді № 2

"віртуальна функція" означає функцію-члена, деконкретна реалізація буде залежати від типу об'єкта, до якого вона викликається, під час виконання. Компілятор та підтримка під час виконання мови сприяють цьому.

Ключове слово "віртуальний" на мові C ++ було взято з Simula, що справило враження на Bjarne Stroustrup. Тут набагато більше фону: Чисто віртуальний чи абстрактний, що в назві?

.. SIMULA 67 Common Base Language (1970) .., здається, перша мова, яка запровадила ключові слова OO як клас, об'єкт, а також віртуальний як формальне поняття.