主题:[讨论]interface中的问题,求指导
在interface 用法中当有自定义操作符(就是将操作符设置为虚拟函数)
比如
(1)
module ******
interface operator(+)
module procedure add1
module procedure add1
(2)
interface assignment(=)
module procedure time_assignment_real
module procedure real_assignment_time
为啥书上写的是add1和add2是必须函数,因为数学运算a+b必须要返回一个结果到程序中
而time_assignment_real与real_assignment_time必须是子程序,而不是函数,因为要接受2个参数,(然后进行处理)(自己补充的)
我的问题是:
1. 函数与子程序有啥区别,是否是函数能返回一个数值而子程序不能,函数只能进行算数运算呢(请详细比较下)
2.程序中调用这些自定义操作符都不用CALL吗,即使是像(2)这种情况是子程序的时候?
[em1]
比如
(1)
module ******
interface operator(+)
module procedure add1
module procedure add1
(2)
interface assignment(=)
module procedure time_assignment_real
module procedure real_assignment_time
为啥书上写的是add1和add2是必须函数,因为数学运算a+b必须要返回一个结果到程序中
而time_assignment_real与real_assignment_time必须是子程序,而不是函数,因为要接受2个参数,(然后进行处理)(自己补充的)
我的问题是:
1. 函数与子程序有啥区别,是否是函数能返回一个数值而子程序不能,函数只能进行算数运算呢(请详细比较下)
2.程序中调用这些自定义操作符都不用CALL吗,即使是像(2)这种情况是子程序的时候?
[em1]