Class listchainee : lc

Soyez le premier à donner votre avis sur cette source.

Vue 5 680 fois - Téléchargée 449 fois

Description

Salut, c'est la premiere fois que je poste un code sur ce site.
C'est une class qui est un peu comme la class vector du STL mais je pense que elle est plus facile a comprendre et donc a modifier celon vos desire. Elle est encore ameliorable, cependant je suis pas tres commentaire, il y en aucun :(
C'est une class template, j'ai eu un peu du mal quelque fois!

Conclusion :


Il y a un fonction recurcive que j'ai du mal a comprendre bien, meme si c'est mois qu'il l'est fait, sauf si inconciament j'ai recopier de quelqu'un !!

Amuse vous bien avec ca !!

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

Messages postés
402
Date d'inscription
mardi 1 mai 2001
Statut
Membre
Dernière intervention
15 août 2011

en C++, on utilise <cstdio>, <cstdlib>, etc. et non <stdio.h>, <stdlib.h> => namespace

n'ouvres pas les namespaces à tout le projet, sinon ca n'a plus aucune utilité

tes variables 'a' et 'b' dans le main(), pourquoi les avoir déclarés dans un nouveau scope/block/.. ??? j'arrive pas à comprendre pourquoi ...

// bonne habitude à prendre
class Object
{
public:
Object() : ptr1(NULL), ptr2(NULL) // initialisation ici
{
}
~Object()
{
// ...
}

private:
type* ptr1;
type* ptr2;
};

les attributs de ta classe LCE, pourquoi les avoir mis public???

class LCE
{
public:
LCE() : /* initialisation ici */
{
}
~LCE()
{
}

type getSuivant() const
{
// retourne le suivant
}
type getPrecedent() const
{
// retourne le précédent ici
}

void setSuivant(const LCE& suivant)
{
// assigne un nouveau suivant
}

//
// etc.
//

private:
// tes attributs ici
};

passage par référence !!! d'après ce que j'ai vu, tu l'utilises pas, tout est par copie, ca devient vite très lourd, toujours et toujours des copies ...

template< ... >
class LC
{
public:
// ...
bool AjouterElement(const LCE< ... >& lce); // aucune copie, on demande une référence directe à l'objet donné
// ...
};

pour tes fichiers .h(headers), mets ta condition(macro) au début du fichier et inclus les fichiers après

#ifndef _NOM_DU_FICHIER_H
#define _NOM_DU_FICHIER_H

#include < ... >
// etc.

// code ...

#endif // #ifndef _NOM_DU_FICHIER_H

en passant, un std::vector n'est pas une liste mais un array/tableau, pour les listes tu as <list> ....

*** truc pour: m=(m<i)?i:m;
*** peut être facilement remplacé par:
if (m < i) {
m = i;
}
plus court/rapide/efficace/etc.

dans ton cas, tu laisses place à deux assignations, peu importe le résultat de la condition, si m<i on assigne i à m sinon on re-assigne m à m(trouvez l'erreur)
le compilateur devrait être bon pour se débrouiller mais il ne faut pas se fier toujours sur ce dernier ...

plutôt que d'utiliser getch() et compagnie, pourquoi ne pas utiliser, par exemple, std::cin.get(); ??

voilà, c'est pas regarder tout le code mais c'est ce que j'ai remarqué de ce que j'ai vu

tu devrais repenser le tout, revoir la structure, ce dont tu as besoin et/ou non, etc.
de quelle facon il faudrait le faire, quelle serait la meilleur méthode à employer, etc. y aller classe / classe, méthode / méthode ...

bref, voilà

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.