POO, Ada.Finalization - Ada - Programmation
Marsh Posté le 31-10-2010 à 21:03:32
bonjour, Je débute en programmation orientée objet et j'ai un problème d'initialisation d'objet contrôlé. Ce que je voudrais faire : C'est initialisé une variable de type accès à une chaîne englobé dans un enregistrement abstrait contrôlé et limité. Voila ce que j'ai fait. le paquetage "np", racine de la bibliothèque. Spécification :
package Np is pragma Pure (Np);end Np;
Le paquetage "np-human", mon type abstrait T_Info(Hidden : Boolean). Spécification :
with Ada.Unchecked_Deallocation;with Ada.Finalization;package Np.human is type String_Access is access all String; type Info(Hidden : Boolean) is abstract new Ada.Finalization.Limited_Controlled with private; procedure Initialize(I : in out Info); procedure Finalize(I : in out Info);private type Info(Hidden : Boolean) is abstract new Ada.Finalization.Limited_Controlled with record Info : String_Access; end record; procedure Free is new Ada.Unchecked_Deallocation(String, String_access);end Np.Human;
Coprs : dans lequel j'espérais saisir l'info.
with Text_Io;package body Np.human is procedure Initialize(I : in out Info) is begin null; -- ici, j'expérais saisir l'info; end Initialize; procedure Finalize(I : in out Info) is begin Free(I.Info); end Finalize; end Np.Human;
Le paquetage "np-human-status, mon type effectif de classe T_Info(False). Spécification :
package Np.Human.Status is type T_Status is new info(False) with null record; procedure Initialize(I : in out T_Status); procedure Finalize(I : in out T_Status); end Np.Human.Status;
Corps :
with Text_Io;package body Np.Human.Status is procedure Initialize(I : in out T_Status) is begin Text_Io.Put("Status : " ); end Initialize; procedure Finalize(I : in out T_Status) is begin null; end Finalize;end Np.Human.Status;
Le main :
with Np, Np.Human, Np.Human.Status;use Np;procedure Main is Status : Human.Status.T_Status;begin null;end Main;
Comment devrais-je m'y prendre ? Merci bien pour votre aide.
Make sure you enter the(*)required information where indicate.HTML code is not allowed
Marsh Posté le 31-10-2010 à 21:03:32
bonjour,
Je débute en programmation orientée objet et j'ai un problème d'initialisation d'objet contrôlé.
Ce que je voudrais faire : C'est initialisé une variable de type accès à une chaîne englobé dans un enregistrement abstrait contrôlé et limité.
Voila ce que j'ai fait.
le paquetage "np", racine de la bibliothèque.
Spécification :
Le paquetage "np-human", mon type abstrait T_Info(Hidden : Boolean).
Spécification :
Coprs : dans lequel j'espérais saisir l'info.
Le paquetage "np-human-status, mon type effectif de classe T_Info(False).
Spécification :
Corps :
Le main :
Comment devrais-je m'y prendre ?
Merci bien pour votre aide.