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 29 30 31 32 33
|
module Geometry
implicit none
type :: Circle
real :: radius
contains
procedure :: calculateArea
end type Circle
contains
! Type-bound subroutine to calculate the area of a circle
subroutine calculateArea(self, area)
class(Circle), intent(in) :: self
real, intent(out) :: area
area = 3.14 * self%radius**2
end subroutine calculateArea
end module Geometry
program TestGeometry
use Geometry
implicit none
type(Circle) :: myCircle
real :: circleArea
myCircle%radius = 5.0
call myCircle%calculateArea(circleArea, 12)
print *, "Circle Area:", circleArea
end program TestGeometry
|