目的
派生型 (TYPE) ステートメントは派生型定義の最初のステートメントです。
構文
>>-TYPE--+----------------------------+--type_name------------->< | .-,------------------. | | V | | '---+----------------+-+--::-' '-type_attr_spec-' |
規則
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
関連情報