如何强制定义析构函数



我想强制继承类在Fortran>= 2008中定义析构函数。

到目前为止,我已经尝试了以下几种变体:

type, abstract :: parent_class_t
contains
final, deferred, pass :: cleanup
end type

甚至不编译。 我如何实现这个目标?

最终绑定不继承。每种类型都可以声明自己的类型。完成子派生类型时,将自动调用父完成过程。抽象类型不能有最终的子例程,因为它没有意义。

该标准(2018年草案(包含以下解释说明:

注7.46最终子例程不是通过类型扩展继承的 并且不能被覆盖。父类型的最终子例程是 在扩展类型的任何其他最终子例程之后调用 叫。

正如Francescalus所指出的,语法是:

R753最终过程 stmtFINAL[ :: ]最终子例程名称列表

不能指定任何属性。

最新更新