パス プロシージャ ポインタを持つデータ型 (クラス) から複数のインスタンスを作成する場合、各インスタンスに実際のプロシージャ (サブルーチン/関数) がコピーされますか? それとも、ポインターだけがコピーされますか?
たとえば、正しくコンパイルおよび実行される次のコードを考えてみましょう。
モジュール mod2 暗黙のなし プライベート type class_type 整数 :: a、b、c 含む 手順 :: add => add_it 終了タイプ class_type public :: class_type 含む サブルーチン add_it(this) 暗黙のなし クラス(class_type)、インテント(inout)::これ this%c = this%a + this%b end サブルーチン add_it モジュール mod2 の終了 プログラムテスター mod2を使う 暗黙のなし タイプ (class_type)、ディメンション (10) :: オブジェクト objs(:) = class_type(1, 2, 0) 終了プログラム テスター
データ型 から作成された 10 個のオブジェクトのそれぞれで、サブルーチンadd_it
が重複していますclass_type
か? または、サブルーチンの命令セットとadd_it
それへのポインタがどこかに保存されていますか、つまり"procedure :: add => add_it"
各オブジェクトにコピーされていますか?