10

所以我对 C++ 中的虚函数概念很陌生,像这样的线程很好地推销了这个概念。好的,我确信。

但是为什么虚函数被称为“虚函数”呢?我的意思是这样的功能和通常的功能/方法一样“具体”,不是吗?如果有人可以解释选择“虚拟”这个词来命名这个概念,那就太好了。

4

2 回答 2

11

“虚拟函数”是指成员函数,其中特定实现将取决于运行时调用它的对象的类型。该语言的编译器和运行时支持努力实现这一点。

C++ 中的关键字“virtual”取自 Simula,这给 Bjarne Stroustrup 留下了深刻印象。这里有更多背景:纯虚拟或抽象,名称是什么?

.. SIMULA 67 Common Base Language (1970) .. 似乎是第一个将 OO 关键字作为classobjectvirtual作为正式概念引入的语言。

于 2012-07-21T17:57:42.053 回答
11

虚拟性,具有某物的属性而不共享其(真实或想象的)物理形式的质量

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

C++ 虚函数看起来是一个普通函数(“具有的属性”),但将被调用的实现不会通过声明或内联实现共享出去。

于 2012-07-21T17:49:21.223 回答