Research Article

Emulating Multiple Inheritance in Fortran 2003/2008

Listing 4

Vector class taking advantage of multiple inheritance.
(1)  module foo_concrete
(2)  use facade_concrete, only: facade
(3)  implicit none
(4)  private
(5)  public:: foo
(6)  type, extends(facade):: foo
(7)  end type
(8)  interface foo
(9)  module procedure constructor
(10)end interface
(11)contains
(12)type(foo) function constructor()
(13)constructor%facade=facade()
(14)end function
(15)  end module