派生型

目的

派生型 (TYPE) ステートメントは派生型定義の最初のステートメントです。

構文



>>-TYPE--+----------------------------+--type_name-------------><
         | .-,------------------.     |
         | V                    |     |
         '---+----------------+-+--::-'
             '-type_attr_spec-'
 
 

type_attr_speclist
PRIVATEPUBLIC、または BIND(C) です。

type_name
派生型の名前です。

規則

PRIVATE または PUBLIC は、派生型がモジュールの仕様部分にあるときにだけ指定できます。PRIVATE または PUBLIC の 1 つだけを指定できます。

BIND(C) は、Fortran 派生型を C 型と相互運用可能として明示的に定義します。コンポーネントは相互運用可能型でなければなりません。(追加情報については、型の相互運用可能性を参照してください。) BIND 属性を持つ派生型は、SEQUENCE 型にはできません。BIND 属性を持つ派生型のコンポーネントは、相互運用可能な 型と型付きパラメーターを持っていなければならず、POINTER または ALLOCATABLE 属性を持つことはできません。

type_name は、BYTE および DOUBLECOMPLEX 以外のどの組み込み型の名前とも、また他のどのアクセス可能派生型の名前とも同じにすることはできません。

派生型 (TYPE) ステートメントでラベルを指定すると、そのラベルは派生型定義の有効範囲単位に属します。

対応する END TYPE ステートメントで名前を指定する場合、その名前は type_name と同じで なければなりません。

MODULE ABC
  TYPE, PRIVATE :: SYSTEM      ! Derived type SYSTEM can only be accessed
    SEQUENCE                   !   within module ABC
    REAL :: PRIMARY
    REAL :: SECONDARY
    CHARACTER(20), DIMENSION(5) :: STAFF
  END TYPE
END MODULE

関連情報

IBM Copyright 2003