Précédent   Forum du club des développeurs et IT Pro > C et C++ > C++ > Langage
Langage Langage C++, Programmation Orientée Objet, Templates, etc. Avant de poster : FAQ C++
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 06/12/2012, 17h18   #1
chmek firas
 
Inscription : 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
chmek firas est déconnecté   Envoyer un message privé Réponse avec citation 02
Vieux 06/12/2012, 19h35   #2
koala01
Modérateur
 
Avatar de koala01
 
Philippe Dunski
Inscription : octobre 2004
Messages : 8 750
Détails du profil
Informations personnelles :
Nom : Philippe Dunski
Âge : 41

Informations forums :
Inscription : octobre 2004
Messages : 8 750
Points : 13 718
Points : 13 718
Envoyer un message via MSN à koala01 Envoyer un message via Skype™ à koala01
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
je ne répondrai à aucune question technique par E-mail, message visiteur ou message privé
Vous avez obtenu votre réponse pensez au bouton en bas de page
koala01 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/12/2012, 11h17   #3
Emmanuel Deloget
Expert Confirmé Sénior
 
Homme Emmanuel Deloget
Développeur informatique
Inscription : septembre 2007
Messages : 1 827
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel Deloget
Âge : 37
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 827
Points : 4 395
Points : 4 395
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.
Emmanuel Deloget est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 04h41.


 
 
 
 
Partenaires

Hébergement Web