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

Langage C++ Discussion :

Explication de code


Sujet :

Langage C++

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2012
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 12
    Points : 6
    Points
    6
    Par défaut Explication de code
    questions:
    1-commenter les lignes numérotés de programme ci dessus?
    2-mentionner 4 concepts objets utilisés dans ce programme?
    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
     
    1-#include<iostream>//bibliotheque standard de inpout/outpout
    using namespace std;
    class Id
    { 
    2-static int nb;//declaration de la variable statique nb
    public:
    3-	Id(){nb++;}//interdit car il est impossible d'initialiser les variables statiques dans le constructeur
    4-	static int count(){return nb;}//declaration de la fonction statique count
    };
    5-int Id::nb=0;//initialisation de donne membrestatique nb
    class A
    { Id id;
    int a;
    };
    class B
    { A a;Id id;int b;
    public:
    6-	B(int i):b(i){}//b=i
    };
    7-void main()//je ne sais pas quoi commenter c'est un void main
    {
    8-	A al;//declaration de al qui est de type A
    9-	cout<<Id::count()<<endl;//affiche 1
    10-	B bl(10);//b= 10
    	cout<<Id::count<<endl;
    }
    svp corriger moi cet exercice .ce qui ecrit audessus est mon essai pour la premiere question .pour la deuxieme question je ne l'ai pas vraiment compris est veuieelez m'explique svp qulles sont les types de concepts objets en general pour que je puisse repondre

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 612
    Points : 30 611
    Points
    30 611
    Par défaut
    Salut,

    Faut pas croire que l'on va faire tes devoirs pour toi, non plus

    Tu as de la chance que je sois de bonne humeur, car cela aurait très bien pu te valoir un avertissement (ou une sanction en cas de récidive) , et je ne te promets absolument pas qu'un autre modérateur ne se sera pas levé du pied gauche

    Ceci dit, je vais te mettre sur la voie en te disant qu'une variable membre statique d'une classe n'appartient à aucune instance particulière, mais que cela la rend accessible, au final, depuis n'importe quelle instance particulière de la classe.
    Pour B(int i):b(i){} , tu n'as pas tord dans le fond, mais il serait peut etre dire ce que représente le code plutot que de dire ce qu'il fait (de manière générale, il est toujours préférable d'indiquer la logique qui est suivie plutôt que de reprendre ce qui est fait dans les commentaires )

    Peut etre pourrais tu expliquer ce qu'a de spécial la fonction main

    Ce code met en oeuvre quatre grandes idées générales qu'il est relativement facile d'exprimer... Pourrais tu nous dire lesquelles

    Nota : ne le répète à personne mais ce code, il est vraiment à , tant par sa mise en forme que par les erreur qu'il contient
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    Le commentaire associé à la ligne numérotée 3 est faux ; celui associé à la ligne 2 est trop peu explicite (il ne fait que décrire le code, et non pas son intention, flagrante si tu considère la ligne numérotée 3 ; intention que tu as décelé, sinon ton commentaire à la ligne numérotée 9 serait faux - et il ne l'est pas). Idem, le commentaire en 4 est directement lié au code, mais pas à l"intention.

    De manière générale, quand on commente du code, on essaie de ne pas répéter ce que le code fait, mais on cherche à expliquer POURQUOI il le fait. C'est la différence entre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int heure; // déclaration d'un entier nommé "heure"
    qui ne sert absolument à rien, et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int heure; // heure de départ (entre 0 et 23)
    qui, tout à coup, explique les bornes de la valeur et son but.

    Donc : quel est le but de nb, et quel est le but de count() ?

    Pour la ligne numérotée 7, qu'est-ce que la fonction main() ? Visiblement, le commentaire attendu est la réponse à cette question.

    8, 10 : encore une fois, tu te bornes à réécrire le code sous la forme de commentaires. N'importe qui saura lire le code, ce qui fait que le commentaire est redondant. Je suis d'accord avec toi, le code n'est pas très excitant à commenter. Ceci dit, en faisant un petit effort..

    9 : ok, c'est le résultat. Change le programme un peu, et tu change aussi ce résultat. Comment tourner le commentaire pour qu'il soit toujours exact (rappelle toi : quelle est l'intention du code ?)
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

Discussions similaires

  1. Explication de code
    Par sacco dans le forum C
    Réponses: 2
    Dernier message: 13/04/2006, 00h13
  2. Explication de code
    Par claralavraie dans le forum Linux
    Réponses: 1
    Dernier message: 20/03/2006, 10h58
  3. Shell - Explication de code
    Par claralavraie dans le forum Linux
    Réponses: 13
    Dernier message: 13/01/2006, 17h03
  4. Explication de code - RE
    Par deedoo dans le forum Général Python
    Réponses: 23
    Dernier message: 29/07/2005, 15h00
  5. Explication de code simple
    Par Clad3 dans le forum OpenGL
    Réponses: 3
    Dernier message: 20/03/2005, 12h31

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