Bah voila, fait un bout de temp que je veut convertir mon code de liste chainer en template, mais je n'arrive pas a demarer. J'ai jamais bien saisis leur syntax, mais je suis sur que c'est fesable, voila le code de base de ma liste chainer:
(désoler si c'est en anglais)
#define ROOT_NODE -1
//----------------------------------------------------------------------//
// The base structure of a nodes
//----------------------------------------------------------------------//
struct CNode {
UINT Index; // The Root node will always have the index -1
//***********************//
// This is the part id like to be able to put anything(of any type) here
// like a int, a char, a stucture, whatever...
<Custom data>
//***********************//
struct CNode *PrevNode;
struct CNode *NextNode;
};
// This code is a class that deal with the linked list stuffs
//----------------------------------------------------------------------//
// A Base Class to manage the nodes
//----------------------------------------------------------------------//
class CBaseClass{
public:
CBaseClass();
~CBaseClass();
private:
CNode RootNode;
void InitRootNode();
public:
UINT GetNodeCount();
CNode* GetLastNode();
CNode* GetRootNode();
CNode* GetNode(UINT Indx);
void PushNode(<Custom data>);
bool PopNode();
void InsertNode(UINT Indx, <Custom data>);
void DeleteNode(UINT Indx);
void Clear();
};
Voila, j'ai deja le code pour toute ces fonctions, c'est juste que j'aimerais que ce code soit réutilisable. J'ai juste besoin d'un coup de main pour commencer. Merci d'avance de votre aide.
Tu vas devoir quelque chose du genre template< class Custom_Data> et l'utiliser en tant que type de variable dans ta class si mes souvenirs sont bons ;)
__________________________
............ Curtis: RTS 3D .............. ......
........... TeamMoteurProg...........