logo       

liages divers: msg#00026

lang.ada.france

Subject: liages divers

priorité faible




données du problème :


generic
type donneesBranches is private;
type donneesNoeuds is private;
type TabDonneesBranches is array (Positive range <>) of donneesBranches;
with function "<"(db1 : donneesBranches; db2 : donneesBranches) return boolean;
donneeNoeudParDefaut:donneesNoeuds;

package arbres is

type arbre is private;


procedure clear (a : in out arbre);

generic
with procedure modifier (n : in out donneesNoeuds);
procedure modifierNoeud (a : in out arbre; c : in TabDonneesBranches);

private
end arbres;



with arbres;
pragma Elaborate_All (arbres);

package dictionnaires is

type dictionnaire is private;


procedure clear (d : in out dictionnaire);

procedure ajouter (d : in out dictionnaire; mot : in String);

private

package dico is new arbres(Character, Natural, String, "<", 0);
use dico;

type dictionnaire is new arbre;

end dictionnaires;




1 ere chose :

dictionnaire a une procedure clear (dans la partie publique de dictionnaires),
arbre aussi, ce qui fait que dictionnaire a récupéré le clear de arbre, dans la partie privé de dictionnaires
mais ça ne suffit pas
comment faire ce liage ?




2 eme chose :

package body dictionnaires is

procedure ajouter (d : in out dictionnaire; mot : in String) is

procedure inc (nbMot : in out Natural) is
begin
nbMot:=nbMot+1;
end inc;

procedure incNoeud is new modifierNoeud(inc);

begin
incNoeud(arbre(d),mot);
end ajouter;

end dictionnaires;


au moment de faire new modifierNoeud(inc); , peut on choisir le modifierNoeud de dictionnaire, plutôt que celui de arbre ?
vu qu'ils ont tous les 2 cette procédure et que ce sont des types incompatibles sans conversion explicite

parce que ça m'agace de devoir faire cette conversion explicite à chaque fois que j'utilise une procédure générique : incNoeud(arbre(d),mot);

_______________________________________________
Site WWW de l'association Ada-France: http://www.ada-france.org/
Ada-France@xxxxxxxxxxxxxx
http://www.ada-france.org/mailman/listinfo/ada-france



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise