Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
952 connectés 

  FORUM HardWare.fr
  Programmation
  Ada

  Programmation objet : aiguillage automatique.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Programmation objet : aiguillage automatique.

n°2227038
par l'anne​au de l'ia
word master
Posté le 03-05-2014 à 03:56:08  profilanswer
 

Bonjour, je suis toujours aussi mauvais en programmation orienté objet.
 
J'ai écrit un type abstrait pour lequel j'ai défini une fonction abstraite et je dérive un type concret en implémentant la fonction abstraite mais lorsque j'appelle la procédure gnat me dis :

Citation :

cannot call abstract subprogram


 
Voici la déclaration du type abstrait :

Code :
  1. type Ground_Abstract is abstract tagged null record;
  2. function Status (Ground : in Ground_Abstract'Class) return Game_Status_Type is abstract;


 
Voici la déclaration du type concret :

Code :
  1. type Chess_Ground is new Ground_Abstract with
  2.      record
  3.         Current_Player      : Player_Type := light;
  4.         ...
  5.      end record;
  6. function Status (Ground : in Chess_Ground'class) return Game_Status_Type;


 
Et voici mon appel ligne 18 à la fonction Status :

Code :
  1. function Self_Game(Name : in Games_Type) return Samples_Access is
  2.      Result : Samples_Access;
  3.      Game   : Game_Type;
  4.   begin
  5.  
  6.      case Name is
  7.         when Chess =>
  8.            declare
  9.               Samples : Sample_Vector.Vector;
  10.               System : System_Type;
  11.            begin
  12.               Game.Game := new Games.Chess.Chess_Game;
  13.               if Game.Game = null then
  14.                  raise Program_Error;
  15.               end if;
  16.               Game.Game.Ground := new Games.Chess.Chess_Ground'class ' (Games.Chess.Initialize);
  17.  
  18.               while Game.Game.Ground.Status = Continue loop
  19.                  Games.Chess.To_Play(Game.Game.Ground.all, System);
  20.                  Samples := Samples & Encode(System);
  21.               end loop;


 
Pouvez vous m'aiguiller justement ... Merci pour votre aide.

mood
Publicité
Posté le 03-05-2014 à 03:56:08  profilanswer
 

n°2227108
Totoche17
Posté le 04-05-2014 à 09:59:53  profilanswer
 


jovalise is back
 
:bounce:

n°2227115
gilou
Modérateur
Modzilla
Posté le 04-05-2014 à 14:02:37  profilanswer
 

Tu as implémenté ta fonction dans ton type concret?  
Parce que  
function Status (Ground : in Chess_Ground'class) return Game_Status_Type;
c'est juste la déclaration de la fonction, non?
A+,


Message édité par gilou le 04-05-2014 à 14:03:48

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2227130
par l'anne​au de l'ia
word master
Posté le 04-05-2014 à 17:58:00  profilanswer
 

Affirmatif.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Ada

  Programmation objet : aiguillage automatique.

 

Sujets relatifs
reponse automatique formulaireCompétition de Programmation Robotique Maker Faire Paris
Macro avec mail automatique[JavaScript] List deroulante liée ave un remplissage automatique
besoin d'aide pour une programmation ARDUINOtélécharger un fichier CSV d'une manière automatique
Programmation - participation projet innovantBatch création automatique dossier (xcopy)
Aide Programmation VBA avec MSP 
Plus de sujets relatifs à : Programmation objet : aiguillage automatique.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR