Czy możliwe jest zaimplementowanie zmiennej „abstrakcyjnej” w typie w Fortran 2003?

Chciałbym napisać abstrakcyjny typ

type, abstract :: Vehicle
    real, dimension(:), allocatable:: Wheels 
    contains
     procedure (Compute_Weight), deferred :: VehicleWeight
end type Vehicle

chciałbym mieć symbol zastępczy w typie abstrakcyjnym dla tablicy w taki sposób, aby mógł być nadpisany lub przedefiniowany w rozszerzonym typie za pomocą czegoś takiego jak

type, extends(Vehicle) :: Bike
     allocate(Wheels(2))
    contains
     procedure :: VehicleWeight => BikeWeight
end type Bike

    type, extends(Vehicle) :: Car
     allocate(Wheels(4))
    contains
     procedure :: VehicleWeight => CarWeight
end type Car

Kompilator GCC skarży się (słusznie zgaduję), a jedynym rozwiązaniem, jakie mogłem znaleźć w tym problemie, jest nie zadeklarowanie funkcji alokowanej w typie abstrakcyjnym i zadeklarowanie zmiennej bezpośrednio z poprawnym rozmiarem wewnątrz typu. Niemniej jednak chciałbym mieć pewien symbol zastępczy, aby wymusić implementację podstawowej własności opisanej przez Wheels (prototyp). ja

questionAnswers(1)

yourAnswerToTheQuestion