IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Creation d'une classe


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 28
    Par défaut Creation d'une classe
    Bonjour à tous,
    j'ai un petit problème, voir même un gros, vu que je ne connais pas le langage C, C++ , je dois implémenter le code (je ne sais pas si ça se dit) ci-dessous, de façon statique, grâce à une classe. Donc si quelqu'un a la gentillesse de m'aider ça serai vraiment très sympa.
    Le code à modifier est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    #include <stdio.h>
    #include <conio.h>
     
    #define MAXELEMENTS 100
     
    struct TFile
    {
    int Tab[MAXELEMENTS];
    int iPremier, iDernier;
    };
     
    void initialisefile(TFile *une_file)
    {
    une_file->iPremier = 0;
    une_file->iDernier = 0;
    }
     
    void enfiler (TFile *une_file, int Element)
    {
    une_file->Tab[une_file->iDernier] = Element;
    une_file->iDernier++;
    if (une_file->iDernier == MAXELEMENTS) une_file->iDernier = 0;
    }
     
    int defiler (TFile *une_fille)
    {
    int element_defile;
    element_defile = une_file->Tab[une_file->iPremier];
    une_file->iPremier++;
    if (une_file->iPremier == MAXELEMENTS) une_file->iPremier = 0;
    return element_defile
    }
     
    int filevide (TFile une_file)
    {
    return (une_file.iDernier == une_file.iPremier);
    }

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Qu'est-ce qui te pose problème exactement ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 28
    Par défaut
    Tout me pose problème vu que je ne connais pas ce language, je travaille sur VB normalement et là il faut que je fasse de ce code une classe nommée ClassFile par exemple.
    J'ai le type abstrait file (le code que j'ai donné) et je dois l'implémenter grâce à une classe. Et c'est une implementation statique qu'il faut faire.
    Plus ça va et plus je me mélange les pinceaux, je craque

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 77
    Par défaut
    Premièrement, est-ce que tu comprends le code C que tu as donné dans ton premier message ?

    Si oui, as tu regardé dans les cours (et la FAQ C++) comment crée-t-on une classe ?


    Ce que tu dois faire, une fois que tu sauras comment on rédige une classe en C++, ne devrait pas te paraître insurmontable, c'est juste une histoire de syntaxe à respecter.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 28
    Par défaut
    Non, je ne comprend pas le language C, je l'ai marqué, j'ai bien essayé avec differents tutoriaux mais je n'ai pas réussi

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 77
    Par défaut
    Voilà quelques explications qui pourraient eclaircir un minimum ton chemin :

    Tu vas devoir créer une classe que tu dois appeler TFile, cette classe possède trois attributs : un tableau de MAXELEMENTS entiers, et deux entiers iPremier et iDernier qui correspondent manifestement aux indices de la première et de la dernière cellule.

    A cette classe, il va te falloir définir quelques méthodes (=fonctions) :
    • Un constructeur (où tu initialises l'objet)
    • Un destructeur
    • Une méthode pour ajouter un entier à ta file
    • Une méthode pour la retirer
    • Une méthode pour savoir si la file est vide
    (ceci d'après le code que tu as donné au début)

    Je te conseille maintenant que tu lire des tutoriaux sur le C et le C++, mais rassure toi, le code que tu dois porté n'est pas très complexe, tu comprendras vite comment faire !

  7. #7
    Membre habitué
    Inscrit en
    Mars 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 14

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 4
    Par défaut
    Il n'y a rien de tel pour migrer du code que de le maitriser un minimum. Je dois dire que si tu dois le faire et que l'on te l'impose, ca n'est pas sympathique. Mais peut etre devrais tu expliquer à la personne qui t'a demandé de la faire que ca risque de prendre du temps.
    QUoiqu'il en soit, je t'ai maché le travail. Je n'ai pas testé du tout et je n'ai pas envie de tester (ca va me prendre trop de temps). Mais je pense que ca correspond à ce que tu recherches.

    Un conseil : utilise se code pour essayer de comprendre.

    Bon courage.

    Fichier TFile.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    // Pourquoi ce nom de classe CTFile, nous avons une certaine norme
    // à respecter. Tous les noms de classe commencent pas un "C"
    // Sachant que la classe "CFile" existe déjà (Classe gérant les fichiers)
    class CTFile 
    {
    // les membres protégés à ta classe
    // ces elements ne seront pas accessible par d'autres classes (sauf heritage)
    protected:
        int m_iPremier, m_iDernier;   // premier et dernier membre de la file
        int * m_Tab;  // la file (pointeur)
     
    // membre accessible par d'autres classes
    public:
       // Constructeur
       CTFile();
       // Destructeur
       virtual ~CTFile();
     
       // void InitialiseFile(); // méthode complétement obsolète vu que l'on utilise un constructeur
       void Enfiler( int element ); // Cette méthode me fait peur :lol: 
       int Defiler( ); // methode permettant d'obtenir la valeur courante et de passer à l'élement suivant
       int FileVide (); // permet de savoir si la file est vide
    };
    Fichier TFile.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    #include <stdio.h>
    #include <conio.h>
    #include "tfile.h"
     
    #define MAXELEMENTS 100
     
    CTFile::CTFile()
    {
        // c'est ici que l'on initialise les membres
        m_iPremier = 0;
        m_iDernier = 0;   // premier et dernier membre de la file
        m_Tab = new int[MAXELEMENTS]; // il est de coutume d'initialiser le contenu du tableau à 0 mais un peu à toi de bosser  
    }
     
    CTFile::~CTFile()
    {
        // comme nous detruisons toujours ce que nous créons
        delete [MAXELEMENTS] m_Tab;
    }
     
     
    /*void CTFile::InitialiseFile()
    {
        // c'est ici que l'on initialise les membres
        m_iPremier = 0;
        m_iDernier = 0;   // premier et dernier membre de la file
        m_Tab = new int[MAXELEMENTS]; // il est de coutume d'initialiser le contenu du tableau à 0 mais un peu à toi de bosser  
    }*/
     
    void CTFile::Enfiler (int Element)
    {
       m_Tab[m_iDernier] = Element;
       m_iDernier++;
       if( m_iDernier == MAXELEMENTS) m_iDernier = 0;
    }
     
    int CTFile::Defiler ()
    {
       int element_defile;
       element_defile = m_Tab[m_iPremier];
       m_iPremier++;
       if (m_iPremier == MAXELEMENTS) 
          m_iPremier = 0;
       return element_defile;
    }
     
    int CTFile::FileVide ()
    {
        return (m_iDernier == m_iPremier);
    }

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 28
    Par défaut
    Merci à tous !
    Merci Buloc de m'avoir "maché le travail" , ça m'a permis de comprendre.
    à bientot !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme avec la creation d une classe "polynome"
    Par le_voisin dans le forum C++
    Réponses: 10
    Dernier message: 05/09/2006, 01h52
  2. delphi 7 : tuto sur la creation d'une classe ?
    Par Lorenzo77 dans le forum Delphi
    Réponses: 4
    Dernier message: 18/05/2006, 02h33
  3. [Tableau][Base]Création d'une classe de gestion de tableau
    Par mariogarcia dans le forum Collection et Stream
    Réponses: 40
    Dernier message: 05/11/2005, 02h19
  4. Warning lors la creation d'une classe
    Par addack dans le forum Langage
    Réponses: 11
    Dernier message: 02/11/2005, 13h06
  5. Réponses: 11
    Dernier message: 01/09/2004, 20h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo