Ricerca…


Sottoprogrammi generici

Sottoprogrammi generici sono utili per creare sottoprogrammi che hanno la stessa struttura per diversi tipi. Ad esempio, per scambiare due oggetti:

generic
    type A_Type is private;
procedure Swap (Left, Right : in out A_Type) is
    Temp : A_Type := Left;
begin
    Left := Right;
    Right := Temp;
end Swap;

Pacchetti generici

Nel pacchetto generico di Ada, dopo l'istanziazione, i dati sono duplicati; cioè, se contengono variabili globali, ciascuna istanza avrà la propria copia della variabile, correttamente digitata e indipendente dalle altre.

generic
    type T is private;
package Gen is
    type C is tagged record
        V : T;
    end record;
    G : Integer;
end Gen;

Parametri generici

Ada offre un'ampia varietà di parametri generici difficili da tradurre in altre lingue. I parametri utilizzati durante l'istanziazione e di conseguenza quelli su cui l'unità generica può fare affidamento possono essere variabili, tipi, sottoprogrammi o istanze di pacchetto, con determinate proprietà. Ad esempio, il seguente fornisce un algoritmo di ordinamento per qualsiasi tipo di array:

generic
    type Component is private;
    type Index is (<>);
    with function "<" (Left, Right : Component) return Boolean;
    type Array_Type is array (Index range <>) of Component;
procedure Sort (A : in out Array_Type);


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow