virtual |
辞書:電算用語の基礎知識 プログラミング仕様編 (PTPROGS) |
読み:バーチャル |
外語:virtual |
品詞:名詞 |
C++の予約語の一つで、いくつかの意味を持つ。
概要 |
基底クラスへの参照やポインターは、派生クラスのオブジェクトを指すことが可能だが、基底クラスの型のままメンバー関数を呼び出すと、基底クラスのメンバー関数が実行されてしまう。
しかし、基底クラスにおいてメンバー関数を定義する際にvirtual指定したメソッドは、実行時に変数が指している実際の型に基いて実行するメソッドが決定される。
オブジェクト指向の重要概念である多態性を実現するための機構であり、SmalltalkやJavaでは特に指定しなくても全てのメッセージ/メソッドはレシーバーの実際のクラスに基いて決定されるため、virtualのような仕組みは不要である。C++でわざわざこのような概念を導入したのは、ひとえに実行速度の観点による。
多重継承の際に基底となるクラスに対して指定すると、ダイヤモンド継承(継承する複数のクラスが共通基底クラスを持つ)の場合に、共通基底クラスの実体を一つにすることができる。
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |