10

ですから、私はC ++の仮想関数の概念に不慣れであり、このようなスレッドはこの概念をうまく売っています。わかりました、私は確信しています。

しかし、なぜ仮想関数は「仮想」と呼ばれるのでしょうか。つまり、そのような関数は通常の関数/メソッドと同じように「具体的」ですよね?誰かがこの概念に名前を付けるための「仮想」という言葉の選択を説明できれば、それは素晴らしいことです。

4

2 に答える 2

11

仮想性、(実際のまたは想像上の)物理的形態を共有せずに何かの属性を持つことの質

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

C ++仮想関数は通常の関数(「の属性を持つ」)のように見えますが、呼び出される実装は、宣言を介して、またはインライン実装を介して共有されません。

于 2012-07-21T17:49:21.223 に答える
11

「仮想関数」とは、実行時に呼び出されるオブジェクトのタイプに特定の実装が依存するメンバー関数を意味します。言語のコンパイラと実行時のサポートは、これを実現するために考案されています。

C++のキーワード「virtual」はBjarneStroustrupに感銘を与えたSimulaから取られました。ここにはもっと多くの背景があります:純粋な仮想または抽象、名前には何が含まれていますか?

.. SIMULA 67 Common Base Language(1970).. OOキーワードをクラスオブジェクト、および仮想概念として導入した最初の言語のようです。

于 2012-07-21T17:57:42.053 に答える