fortran面向对象编程简介

Module complex_class
    implicit none
    type, public     :: complex_ob  !.. 声明一个面向对象的type与对应的procedure
        private
        real         :: re
        real         :: im
    contains
        procedure    :: cons => construct_complex  !.. 此处用cons指向procedure,以便在外部调用
    end type complex_ob
    type(complex_ob) :: testcm
    public           :: construct_complex
contains
    subroutine construct_complex( this, cm )  !.. 注意此处的this
        implicit none
        class( complex_ob )    :: this  !.. this的声明
        complex, intent(inout) :: cm
        
        testcm%re = 1.0; testcm%im = 2.0
        cm = cmplx(testcm%re, testcm%im)
        
    end subroutine construct_complex
    
End module complex_class    
    
Program testOOP
    use complex_class
    implicit none
    
    complex          :: cm
    
    cm = 0.
    call testcm%cons( cm ) !.. 调用type中的procedure
    print*, cm
    
End program testOOP
!.. 初次尝试,如有错误,敬请指正

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值