派生类型(
结构体)用以下方式说明:
TYPE[,访问属性说明::] 派生类型名
成员1类型说明
……
成员n类型说明
END TYPE [派生类型名]
其中TYPE是关键字,表示派生类型定义开始。访问属性说明关键字是PUBLIC或PRIVATE,默认值是PUBLIC,即访问方式是共用的。PRIVATE表示该类型是专用的,这个关键字只有当TYPE块写在模块说明部分中时,才允许使用。下面是一个例子:
- program type_demo
- type one
- integer a
- character*16 s
- end type
- type :: two
- sequence !表示按定义的顺序储存各个成员
- logical(8):: b
- complex :: c = (23, 9.8) !可以缺省初始化
- end type
- type(one):: o1, o2 = one(18, "xyz");
- type(two):: t1;
- t1%b = .true.
- print *, o2%a, o2%s
- end
在声明了一个type后,编译器会自动生成一个与type同名的构造函数。定义一个实例用type(type_name):: var的方式。%号用来得到成员变量。
阅读(2022) | 评论(0) | 转发(0) |