Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Discussion: Explication de code

  1. #1

    Inscrit en
    mai 2012
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : mai 2012
    Messages : 12
    Points : -5
    Points
    -5

    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 :
    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
    Modérateur
    Avatar de koala01
    Profil pro Philippe Dunski
    Inscrit en
    octobre 2004
    Messages
    9 677
    Détails du profil
    Informations personnelles :
    Nom : Philippe Dunski
    Âge : 42

    Informations forums :
    Inscription : octobre 2004
    Messages : 9 677
    Points : 15 708
    Points
    15 708

    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é Sénior

    Homme Profil pro Emmanuel Deloget
    Développeur informatique
    Inscrit en
    septembre 2007
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Nom : Homme Emmanuel Deloget
    Âge : 38
    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 894
    Points : 4 140
    Points
    4 140

    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 :
    1
    2
     
    int heure; // déclaration d'un entier nommé "heure"
    qui ne sert absolument à rien, et
    Code :
    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •