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 :

Conversion classes C++ en C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 5
    Par défaut Conversion classes C++ en C
    Voilà j'ai lu le tutorial pour faire de l'objet en C. J'ai compris pas énormément de choses, et j'aimerais bien un peu d'aide à ce niveau.

    Voilà le code que je dois changer en C, est ce qu'on peut m'aider à le traduire:

    Grille::Grille()
    {
    int x,y, chiffres=9;
    strcpy(this->nomFichier,"");


    for(y=0; y<chiffres; y++)
    {
    for(x=0; x<chiffres; x++)
    {
    grille[x][y]=0;
    }
    }
    }

    Grille::Grille(const Grille &grille)
    {
    strcpy(nomFichier,grille.nomFichier);
    }


    Grille::~Grille()
    {
    int i, chiffres=9;
    for (i=0 ; i<chiffres ; i++)
    {
    delete(grille[i]);
    }
    delete(grille);
    }

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    alors, il faut savoir qu'en C, la couche objet est pour ainsi dire innexistante, seul struct existe, et il n'a pas la même signification qu'en C++ !

    De plus, sans la signature de la classe il va être dur de fournir une transcription exacte
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Cornichon
    Voilà j'ai lu le tutorial pour faire de l'objet en C. J'ai compris pas énormément de choses, et j'aimerais bien un peu d'aide à ce niveau.

    Voilà le code que je dois changer en C, est ce qu'on peut m'aider à le traduire:
    Et ? Tu t'imagines qu'on va faire tes exos à ta place ?
    Poste le code C ave c lequel tu as un problème.

    Sinon, un peu de lecture...

    http://emmanuel-delahaye.developpez.com/tad.htm

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut
    Il faudrait aussi nous donner le prototype de la classe, quand je vois marqué :
    this->nomFichier
    nomFichier est donc un membre de la classe, il y en a peut-être d'autres, il faudrait les connaître.
    En gros, tu crées une struct dans laquelle tu stockes tes membres et tu déclares des fonctions static pour les méthodes protected et private et des fonctions extern pour tes méthodes. Pour le constructeur et le destructeur, aucune idée.
    Passer du C au C++ a un sens mais l'inverse n'en a pas trop. A moins de bosser sur un environnement très spécial.

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 92
    Par défaut
    Citation Envoyé par ep31
    Pour le constructeur et le destructeur, aucune idée.
    En utilisant des fonctions (extern) de prototype :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Grille *createGrille(void);
    Grille *copyGrille(Grille*g);
    void deleteGrille(Grille *g);
    donc le code serait :

    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
     Grille *createGrille(void)
    {
    Grille *g = malloc (sizeof(Grille));
     
        int x,y, chiffres=9; 
        strcpy(g->nomFichier,"");
     
     
        for(y=0; y<chiffres; y++)
        {
            for(x=0; x<chiffres; x++)   
            {
    g->grille[x][y]=0;
            }
        }
     
    return g;
    }
     
    Grille *copyGrille(Grille*grille)
    {
    Grille *g = malloc(sizeof(Grille));
    strcpy(g->nomFichier,grille->nomFichier);
    return g;
    }
     
     
    void deleteGrille(Grille *g)
    {
        int i, chiffres=9;
        for (i=0 ; i<chiffres ; i++)
        {
            free(g->grille[i]);
        } 
        free(g->grille);  
    free(g);
    }

Discussions similaires

  1. Conversion classe en sous classe
    Par iFelix dans le forum Débuter
    Réponses: 4
    Dernier message: 31/01/2014, 17h14
  2. Conversion type dans class POlymorphique
    Par dhoorens dans le forum C++
    Réponses: 11
    Dernier message: 18/06/2008, 14h49
  3. [C++] conversion classe string vers float
    Par agrosjea dans le forum C++
    Réponses: 5
    Dernier message: 14/03/2007, 13h45
  4. Opérateur de conversion en dehors d'une classe
    Par kwakanar dans le forum C++
    Réponses: 4
    Dernier message: 08/11/2005, 18h06
  5. [VB.NET] Conversion d'une classe C# en VB.NET
    Par TraPpeur dans le forum VB.NET
    Réponses: 3
    Dernier message: 07/11/2005, 19h20

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