fortran OOP(7) Test_Student.f90

! include 'class_Date.f90'
! include 'class_Person.f90'

include 'class_Student.f90' ! see previous figure
program main                ! create or correct a student
 
use class_Student          ! inherits class_Person, class_Date also
 
implicit none
  type 
(Person) :: p  ; type (Student) :: x
!               Method 1
    
p = make_Person ("Ann Jones","",0)  ! optional person constructor
    
call set_DOB (p, 5, 13, 1977)       ! add birth to person data
    
x = Student_(p, "219360061", Date_(8,29,1955), 9, 3.1) ! public
    
call print_Name (p)                               ! list name
    
print *, "Born        :"call print_DOB (p)      ! list dob
    
print *, "Sex         :"call print_Sex (p)      ! list sex
    
print *, "Matriculated:"call print_DOM (x)      ! list dom
    
call print_GPA (x)                                ! list gpa
 !               Method 2
    
x = make_Student (p, "219360061")    ! optional student constructor
    
call set_DOM (x, 8, 29, 1995)        ! correct matriculation
    
call print_Name (p)                               ! list name
    
print *, "was born on :"call print_DOB (p)      ! list dob
    
print *, "Matriculated:"call print_DOM (x)      ! list dom
 !               Method 3
    
x = make_Student (make_Person("Ann Jones"), "219360061"! optional
    
p = get_Person (x)                   ! get defaulted person data
    
call set_DOM (x, 8, 29, 1995)        ! add matriculation
    
call set_DOB (p, 5, 13, 1977)        ! add birth
    
call print_Name (p)                               ! list name
    
print *, "Matriculated:"call print_DOM (x)      ! list dom
    
print *, "was born on :"call print_DOB (p)      ! list dob
end program main                                     ! Running gives:
! Ann Jones
! Born        : May 13, 1977
! Sex         : female
! Matriculated: August 29, 1955
! My name is Ann Jones, and my G.P.A. is 3.0999999.
! Ann Jones was born on: May 13, 1977 , Matriculated: August 29, 1995
! Ann Jones Matriculated: August 29, 1995 , was born on: May 13, 1977

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yueliang2100

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值