fortran66のブログ

fortran について書きます。

Protected 属性

"Fortran95/2003 Explained" より 17.7節の Protected 属性。
モジュールのグローバル変数をモジュールの外からは READ ONLY にする属性です。モジュール内では書き換え可能です。

実行結果

ソース

!==================================== 17.7
MODULE m_test
PUBLIC
REAL, PROTECTED :: v
INTEGER, PROTECTED :: i
CONTAINS
!-----------------------------------
SUBROUTINE check()
v = 1.0
i = 99
RETURN
END SUBROUTINE check
!-----------------------------------
END MODULE m_test
!====================================
PROGRAM test
USE m_test
IMPLICIT NONE
CALL check()

PRINT *, v, i
STOP
END PROGRAM test