1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
module hr
implicit none
type, public :: person
character(len=20) :: first, last
integer :: birthyear
character(len=1) :: sgender
end type person
type, public :: employee
type(person) :: person
integer :: hire_date
character(len=20) :: department
end type employee
end module hr
program hr_code
use hr, only: person, employee
implicit none
type(person) :: jack
type(employee) :: jill
jack = person( "Jack", "Smith", 1984, "M" )
jill = employee( person( "Jill", "Smith", 1984, "F" ), 2003, "sales" )
print *, jack%first, jack%last, jack%birthyear, jack%sgender
print *, jill%person%first, jill%person%last, jill%person%birthyear, jill%person%sgender, jill%department, jill%hire_date
end program hr_code
|