VMS Help  —  FORTRAN  Data  Derived Types, Constructors
  A structure constructor lets you specify scalar values of a derived
  type.  It takes the following form:

    d-name (expr-list)

    d-name    Is the name of the derived type.

    expr-list Is a list of expressions specifying component
              values.  The values must agree in number and
              order with the components of the derived type.

              If necessary, values are converted (according
              to the rules of assignment), to agree with their
              corresponding components in type and kind type
              parameters.

  A structure constructor must not appear before its derived type is
  defined.

  If a component of the derived type is an array, the shape in the
  expression list must conform to the shape of the component array.

  If a component of the derived type is a pointer, the value in the
  expression list must evaluate to an object that would be a valid
  target in a pointer assignment statement.  (A constant is not a
  valid target in a pointer assignment statement.)

  If all the values in a structure constructor are constant
  expressions, the constructor is a derived-type constant expression.

1  –  Examples

  Consider the following derived-type definition:

    TYPE EMPLOYEE
      INTEGER ID
      CHARACTER(LEN=40) NAME
    END TYPE EMPLOYEE

  This can be used to produce the following structure constructor:

    EMPLOYEE(3472, "John Doe")

  The following example shows a type with a component of derived
  type:

    TYPE ITEM
      REAL COST
      CHARACTER(LEN=30) SUPPLIER
      CHARACTER(LEN=20) ITEM_NAME
    END TYPE ITEM

    TYPE PRODUCE
      REAL MARKUP
      TYPE(ITEM) FRUIT
    END TYPE PRODUCE

  In this case, you must use an embedded structure constructor to
  specify the values of that component; for example:

    PRODUCE(.70, ITEM (.25, "Daniels", "apple"))
Close Help