l'équivalent de template et friend de C/C++ en Ada?

l'équivalent de template et friend de C/C++ en Ada? - Ada - Programmation

Marsh Posté le 17-11-2004 à 20:10:22    

Salut tt monde :hello:,
J’aime savoir s'il y a des équivalentes pour template et friend (de C/C++) en Ada. Car j'essaie de traduire une classe de c++ en Ada.  
Merci d'avance.


---------------
Merci pour votre aide
Reply

Marsh Posté le 17-11-2004 à 20:10:22   

Reply

Marsh Posté le 17-11-2004 à 20:21:11    

Les Templates de C++, ça s'appelle les generics en Ada : http://www.adahome.com/rm95/rm9x-12.html
 
Par contre, les templates et les friends de C, j'avoue nas pas trop connaître. :(

Reply

Marsh Posté le 17-11-2004 à 20:32:07    

Lam's a écrit :


Par contre, les templates et les friends de C, j'avoue nas pas trop connaître. :(


 
On peut faire des trucs très rigolos avec sed :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 17-11-2004 à 20:38:44    

lol :D, ouais c'est plutot en C++ et pas en C... ;)
Merci Lam's, et pour friend t'as une idee stp?
a+


---------------
Merci pour votre aide
Reply

Marsh Posté le 17-11-2004 à 20:39:54    

meetic ?
 
Bon, c'est quoi ta fonction friend ? D'habitude, les friend on s'en sert pour les opérateurs, ou on ne s'en sert pas.  
 
En plus, si tu définis ton truc en limited private, et en donnant ta fonction dans le package-spec, tu dois pouvoir l'implémenter ailleurs, donnant donc l'équivalent d'un friend, non ?


Message édité par Lam's le 17-11-2004 à 20:45:18
Reply

Marsh Posté le 17-11-2004 à 21:38:11    

ahh!, lol pas tt clair mais je commence à comprendre qlq trucs quand meme ;), merci beaucoup chef Lam's, je vois que tu maitrise bien ada.
c'est la classe en c++ que j'essaie la traduire :
 
// Generation.h: interface for the Generation class.
//
#ifndef _HEAPMEMORY_H
#define _HEAPMEMORY_H
 
#include "StdAfx.h"
 
class Generation  
{
 friend class GC;
 
private:
// The generation number
 int _GenerationNumber;
// Pointers to the objects in the generation
 std::vector< void* > _Pointers;
// Points to the top of memory available in the generation
 void* _pTopOfMemory;
// The generation allocates memory from this location  
 void* _pNextObjPtr;
// Returns maximum size available for one generation
 enum { MaxSize = 1000 };
// Table of memory inside generation
 BYTE MemoryTable[MaxSize];
 
public:
// Gets the remaining memory of the Generation
 int GetRemainingMemory() const;
// Returns maximum memory that can be allocated for one generation
 int GetTotalMemory() const { return MaxSize; }
// Allocates memory for an object and returns its void*
 void* Allocate( size_t Size );
// Gets the generation number
 int GetGenerationNumber() const { return _GenerationNumber; }
// Performs bitbybit copying  
 static void* CopyBitByBit( const void* pSourceLocation, size_t Size, Generation* pTargetGeneration );
 
 void operator delete( void* v )
 {
  free( v );  
 }
 
public:
 Generation( int GenNumber = 0 );
 virtual ~Generation();
 
};
#endif
/////////
 
normalement je dois faire un package generation.ads pour ce but.
mais je sais pas comment faire la structure de ce package :(
tu peux m'aider stp?
merci beaucoup d'avance.  
a+


---------------
Merci pour votre aide
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed