TutorielsVous débutez ? C'est ici qu'on commence !
Mon compte
Recherche
Livre d'or
PublicitéVous devez être inscrit pour pouvoir poster des messages
| Page : Précédente 1 2 3 ... 33 34 35 36 37 38 39 ... 93 94 95 96 Suivante | |
| Auteur | Message |
|---|---|
| 1 visiteur sur ce sujet (1 anonyme) | |
| Page : Précédente 1 2 3 ... 33 34 35 36 37 38 39 ... 93 94 95 96 Suivante | |
psychoh13
|
# Posté le 19/05/2007 à 19:06:42 |
L'esprit surpasse le corps !![]() Groupe : Membres |
Reprise du dernier message de la page précédente :
Bon... On va arrêter ce dialogue de sourd parce qu'on n'arrête pas de répéter les mêmes choses que l'autre...
Répondons maintenant à une autre question. Dans la classe "durée" pourquoi il y a deux constructeurs ? (un sans paramètres et l'autre avec 3 paramètres qui ont une valeur par défaut), alors qu'on pourrait dans la déclaration de la classe, ne mettre qu'un seul constructeur avec les 3 valeurs par défaut ? ¡ Psycho !
Tutoriel Programmation Mac disponible ! Meilleur langage objet : Objective-C
Meilleur langage procédural : C Meilleure API : Cocoa Meilleur IDE : Xcode Meilleure plate-forme : Mac OS X |
Davidbrcz
|
# Posté le 19/05/2007 à 19:12:56 |
Geek un jour, geek toujours !![]() Groupe : Membres |
Je penche pour une erreur car moi si je compile ca , GCC me jette avec une surcharge ambigue.
Partager grâce à l'open source et aux logiciels libres. Mes articles sur developpez.com : http://come-david.developpez.com/ Da Nyug |
lmghs
|
# Posté le 19/05/2007 à 19:43:05 |
|
Groupe : Membres |
Oui. Une erreur comme je l'avais signalé plus haut.
Sur Developpez, cette semaine Jean-Marc avait fait un petit rappel sur l'utilisation des valeurs par défaut et celle de la surcharge. |
psychoh13
|
# Posté le 19/05/2007 à 19:43:49 |
L'esprit surpasse le corps !![]() Groupe : Membres |
Citation : Davidbrcz
Je penche pour une erreur car moi si je compile ca , GCC me jette avec une surcharge ambigue.
Justement, c'est ce que je veux dire, si on écrit ça comme ça : Code : C class Durée {
/* variable membre */ public: Durée(int heures = 0, int minutes = 0, int secondes = 0); /* autres méthodes */ }; Avec ça on a 4 constructeurs en un : Durée(), Durée(5), Durée(5,1) et Durée(5,1,4). C'est-à-dire un constructeur par défaut et des constructeurs auxiliaires. ¡ Psycho !
Tutoriel Programmation Mac disponible ! Meilleur langage objet : Objective-C
Meilleur langage procédural : C Meilleure API : Cocoa Meilleur IDE : Xcode Meilleure plate-forme : Mac OS X |
Nanoc
|
# Posté le 19/05/2007 à 19:45:58 |
Apprenez à utiliser la STL !!![]() Groupe : Membres |
Oui mais ça va merder si tu rajoutes le constructeur par défaut "classique":
Code : C++ class Durée { public: Durée(int heures = 0, int minutes = 0, int secondes = 0); Durée(); }; Lorsque tu feras un appel au constructeur avec aucun argument, ça va planter. Exercices de C++ pour tous les niveaux ! Mes tutos: Tri de Shell --- [C++] Manipulateurs de flux --- [C++] Notions avancées (suite du cours de M@teo21) |
psychoh13
|
# Posté le 19/05/2007 à 19:56:10 |
L'esprit surpasse le corps !![]() Groupe : Membres |
Tu lis ce que j'écris ?
Si tu fais ça : Code : C class Durée {
/* variable membre */ public: // Constructeur par défaut et autre constructeur : Durée(int heures = 0, int minutes = 0, int secondes = 0); /* autres méthodes */ }; Tu n'as pas besoin de déclarer le constructeur par défaut il est intégré dans ce constructeur-là ! Tu vas pas rajouter quelque chose qui est déjà là quand même .
Édité
le 19/05/2007 à 19:59:33
par psychoh13
¡ Psycho !
Tutoriel Programmation Mac disponible ! Meilleur langage objet : Objective-C
Meilleur langage procédural : C Meilleure API : Cocoa Meilleur IDE : Xcode Meilleure plate-forme : Mac OS X |
lmghs
|
# Posté le 19/05/2007 à 20:07:35 |
|
Groupe : Membres |
Non. Un seul constructeur qui dégénère en constructeur par défaut.
On ne peut pas déclarer en plus un constructeur à 0 argument, ni un constructeur à un argument entier, ni à 2 arguments entiers. D'ailleurs le compilateur ne laisse pas passer. |
Nanoc
|
# Posté le 19/05/2007 à 20:08:39 |
Apprenez à utiliser la STL !!![]() Groupe : Membres |
En effet,
ce que tu dis est juste. Mais ce que j'ai écris est exactement ce que as fait Mateo dans son tuto. Exercices de C++ pour tous les niveaux ! Mes tutos: Tri de Shell --- [C++] Manipulateurs de flux --- [C++] Notions avancées (suite du cours de M@teo21) |
UltimAKnighT
|
# Posté le 19/05/2007 à 20:11:41 |
|
Groupe : Membres |
Personnelment je n'ai aucune erreur avec le code de m@téo, je build sous Code::blocks et ça compile sans probleme.
Cependant je comprends pourquoi vous dites qu'il n'y a pas besoin du constructeur par défaut. Mais c'est juste un exemple pour présenter la surcharge de constructeur. UltimAKnighT |
psychoh13
|
# Posté le 19/05/2007 à 20:13:26 |
L'esprit surpasse le corps !![]() Groupe : Membres |
Citation : Nanoc
En effet,
ce que tu dis est juste. Mais ce que j'ai écris est exactement ce que as fait Mateo dans son tuto. Je sais ! C'est pour ça que je pose la question : Pourquoi ne fait-il pas UN seul constructeur avec 3 arguments par défaut DANS la déclaration de classe À LA PLACE de la déclaration des arguments par défauts dans la définition. Citation : UltimAKnighT Personnelment je n'ai aucune erreur avec le code de m@téo, je build sous Code::blocks et ça compile sans probleme.
Je n'en ai pas non plus, mais c'est parce qu'il met les valeurs par défaut dans la définition de la méthode et non pas dans la déclaration. S'il les avait mises dans la déclaration, il y aurait ambiguïté selon le compilateur et là le constructeur par défaut ne serait plus utile.
Édité
le 19/05/2007 à 20:16:31
par psychoh13
¡ Psycho !
Tutoriel Programmation Mac disponible ! Meilleur langage objet : Objective-C
Meilleur langage procédural : C Meilleure API : Cocoa Meilleur IDE : Xcode Meilleure plate-forme : Mac OS X |
UltimAKnighT
|
# Posté le 19/05/2007 à 20:34:02 |
|
Groupe : Membres |
Excuse moi mais je ne comprend pas où tu veux en venir.
Et de quel methode parles-tu? il me semble que tu parles du constructeur non? Puis peux-tu mettre un exemple? je comprendrais surement mieux en y etant confronté, car j'ai du mal à voir où tu veux en venir (Jsuis un peu fatigué tu m'excusera). UltimAKnighT |
psychoh13
|
# Posté le 19/05/2007 à 20:36:25 |
L'esprit surpasse le corps !![]() Groupe : Membres |
Voilà la situation actuelle :
Duree.h : Code : C #ifndef DEF_DUREE
#define DEF_DUREE class Duree { public: Duree(); Duree(int heures, int minutes, int secondes); private: int m_heures; int m_minutes; int m_secondes; }; #endif Duree.cpp : Code : C #include "Duree.h"
Duree::Duree() : m_heures(0), m_minutes(0), m_secondes(0) { } Duree::Duree(int heures = 0, int minutes = 0, int secondes = 0) : m_heures(heures), m_minutes(minutes), m_secondes(secondes) { } Voilà ce que je propose : Duree.h : Code : C #ifndef DEF_DUREE
#define DEF_DUREE class Duree { public: Duree(int heures = 0, int minutes = 0, int secondes = 0); private: int m_heures; int m_minutes; int m_secondes; }; #endif Duree.cpp : Code : C #include "Duree.h"
Duree::Duree(int heures, int minutes, int secondes) : m_heures(heures), m_minutes(minutes), m_secondes(secondes) { } ¡ Psycho !
Tutoriel Programmation Mac disponible ! Meilleur langage objet : Objective-C
Meilleur langage procédural : C Meilleure API : Cocoa Meilleur IDE : Xcode Meilleure plate-forme : Mac OS X |
UltimAKnighT
|
# Posté le 19/05/2007 à 20:38:56 |
|
Groupe : Membres |
Euh...oui tu as enlevé le constructeur par défaut, et tu met les valeurs par defaut directement dans la déclaration du constructeur, dans la classe, mais ça me dit pas où tu voulais en venir.
Édité
le 19/05/2007 à 20:41:51
par UltimAKnighT
UltimAKnighT |
psychoh13
|
# Posté le 19/05/2007 à 20:41:51 |
L'esprit surpasse le corps !![]() Groupe : Membres |
'taing ! Voilà où je veux en venir :
Quand il y a un constructeur dont tous les arguments ont une valeur par défaut, il est inutile de créer un constructeur par défaut.
Édité
le 19/05/2007 à 20:42:56
par psychoh13
¡ Psycho !
Tutoriel Programmation Mac disponible ! Meilleur langage objet : Objective-C
Meilleur langage procédural : C Meilleure API : Cocoa Meilleur IDE : Xcode Meilleure plate-forme : Mac OS X |
UltimAKnighT
|
# Posté le 19/05/2007 à 20:46:56 |
|
Groupe : Membres |
Oui donc on en reviens au constructeur par defaut qui ne servirai à rien. Mais je suis d'accord, lis bien ce que j'ai mis precedemment. Il fait ça pour l'exemple c'est tout, bref y'a surement de meilleurs exemples certes mais c'est un choix. On tournait en rond là
.
Édité
le 19/05/2007 à 20:48:57
par UltimAKnighT
UltimAKnighT |
lmghs
|
# Posté le 19/05/2007 à 21:03:57 |
|
Groupe : Membres |
Tiens... une subtilité de la norme...
Citation : Norme C++ ISOIEC-14882-1998 §8.3.6, alinéa 6 The default arguments in a member function definition that appears outside of the class definition are added to the set of default arguments provided by the member function declaration in the class definition. (Note: patché en 2003 pour les fonctions membre template) Code : C++ class C { void f(int i=3); void g(int i, int j=99); }; void C::f(int i=3) // error: default argument already {} // specified in class scope void C::g(int i=88, int j)// in this translation unit, {} // C::g can be called with no argument Le dernier commentaire est très intéressant : il dit que C::g peut être vue comme sans arguments dans le contexte de l'unité de traduction considérée (en gros : le .cpp compilé plus tous les .h qu'il inclus directement ou indirectement). L'alinéa 4 explique en gros que les valeurs par défaut des paramètres sont liées au déclarations, et qu'elles sont locales à des portées. Honnêtement, si vous voulez un truc simple : les déclarations des valeurs par défaut sont à réserver à l'unique déclaration qui sera faite. Et du coup, le constructeur à 0 arguments est de trop, ici, dans le tuto. Autrement, franchement, je trouve que c'est de l'obfuscation. PS: le brouillon du prochain standard correspond bien sur cette partie, il se retrouve depuis le blog d'Herb Sutter -> http://herbsutter.spaces.live.com/blog/cns!2D4327CC297151BB!159.entry EDIT: adresse directe vers le bon article
Édité
le 19/05/2007 à 21:07:17
par lmghs
|
UltimAKnighT
|
# Posté le 19/05/2007 à 22:03:52 |
|
Groupe : Membres |
C'est un peu farfelus je trouve mais ça a surement son utilité.
Toujours interressant de le savoir, merci pour l'info lmghs. UltimAKnighT |
M@teo21
|
# Posté le 20/05/2007 à 02:13:21 |
Doh ! Nuts. Mmh, donuts !![]() ![]() |
Merci pour vos commentaires, j'ai bien pris note de ces erreurs, j'essaierai de les corriger dès demain.
Ce qui se conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément. Nicolas Boileau (je suis fan) Comment commenter une news sur le SdZ ? Suivez l'aventure du SdZ et de Simple IT sur notre blog ! |
Black Templar
|
# Posté le 04/06/2007 à 22:42:37 |
![]() Groupe : Membres |
Bonjours !
J'aimerais savoir si Kayl comptait continuer sons tuto OpenGL ?? Il est super bien fait, mais encore loin d'être fini (si on prend en compte le sommaire que Kayl à fait ici : http://www.siteduzero.com/forum-83-49666-396885-ce-que-vous-saurez-faire-dans-la-suite-du-cours.html ) Vu que ça fait près un an que le cour en est au même point (je sais que ce n'est pas évident de trouver le temps et la motivation de créer un tuto), j'aurais voulu savoir où ça en était. Merci (Ne croyez pas que t'attende que le cour me tombe dans le bec comme ça !! J'essaye d'apprendre sur d'autre sites, mais les meilleurs sont en Anglais et je progresse trsètrèstrès lentement) |
M@teo21
|
# Posté le 08/06/2007 à 20:06:50 |
Doh ! Nuts. Mmh, donuts !![]() ![]() |
Je vais voir avec lui pour prendre une décision en effet, afin que les choses soient claires et qu'on ne se demande pas ce qui se passe
Ce qui se conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément. Nicolas Boileau (je suis fan) Comment commenter une news sur le SdZ ? Suivez l'aventure du SdZ et de Simple IT sur notre blog ! |
Ismus
|
# Posté le 08/06/2007 à 20:22:47 |
J'aime le sang :p![]() Groupe : Membres |
Citation : M@teo21
Je vais voir avec lui pour prendre une décision en effet, afin que les choses soient claires et qu'on ne se demande pas ce qui se passe
![]() Ok merci
J'attends la suite depuis assez longtemps..
PS: Tu ne trouve pas qu'on se ressemble un peu ?
Édité
le 08/06/2007 à 20:23:34
par Ismus
<< L'expérience est une bougie qui n'éclaire que celui qui la tient >>IBA Graphics 1.0 : Logiciel TERMINE : bientôt sur le SdZ ! IBA Graphics 1.1 : 3,6% ||||||||||||||| Correction des différentes fautes orthographiques et grammaticales. ![]() ![]() |
Yno
|
# Posté le 08/06/2007 à 20:26:13 |
SCE![]() Groupe : Membres |
Bonsoir,
Etant donné qu'à présent le cours est en C++, il faudrait peut-être déplacer ce sujet dans la section Langage C++ non ?
Tutos OpenGL : Les shaders en GLSL | Rendus optimisés avec les VBOs FAQs programmation : FAQ C | FAQ OpenGL / SDL / GTK+ Un moteur 3D à que il rox | Un canal IRC qu'il est bieng : #opengl@irc.epiknet.org |
guimers8
|
# Posté le 08/06/2007 à 20:46:36 |
Cocoa/ObjC![]() Groupe : Membres |
Bah, non, ce qui est avant reste en C. De plus, le cours n'est pas dans une catégorie de langage particulier, il est juste dans Officiels/Programmation.
![]() Mac mini, Intel Core Duo à 1,83GHz avec 2 Go RAM. iPod Vidéo, 5.5G Noir, 30 Go. Au fait, pourquoi ne pas visiter… mon blog ? |
Yno
|
# Posté le 08/06/2007 à 21:06:40 |
SCE![]() Groupe : Membres |
Citation
De plus, le cours n'est pas dans une catégorie de langage particulier, il est juste dans Officiels/Programmation.
Bah il n'allait pas créer 36 sous-sections non plus
Citation Bah, non, ce qui est avant reste en C.
Alors pourquoi pas la création d'un nouveu sujet ?
Enfin bon, je dis ça je dis rien, c'est une suggestion. Tutos OpenGL : Les shaders en GLSL | Rendus optimisés avec les VBOs FAQs programmation : FAQ C | FAQ OpenGL / SDL / GTK+ Un moteur 3D à que il rox | Un canal IRC qu'il est bieng : #opengl@irc.epiknet.org |
Kreeg
|
# Posté le 08/06/2007 à 21:15:15 |
Je mangerais bien du GNU...![]() Groupe : Bannis |
Pour le tuto OpenGL, si Kayl n'a plus le temps, la communauté peut peut-être le continuer ?
Parti définitivement. Raise the Titanic ! [Voir le topic] En mode Hard Rock (ACDC/GnR/VR §) - Slash et J. Petrucci sont mes héros \o/ Attention (va) aux (sur) messages (ce) subliminaux, (site) camarade ! Une question sur OpenGL, un problème ? Rejoignez #opengl sur EpikNet ! La SDL pue grave, mais pas SFML ! Le modo qui ne connaissait pas Dimitri Borgur... ![]() |
Nesquik69
|
# Posté le 08/06/2007 à 21:50:05 |
Slave of the Rythm![]() Groupe : Membres |
Je ne pense pas non
. La raison pour laquelle je ne serais pas d'accord c'est que ce tuto est officiel et cela demande un soin irréprochable!
|
GuilOooo
|
# Posté le 08/06/2007 à 22:04:40 |
PriPrOTtTt§!!!§![]() Groupe : Membres |
Le tutoriel étant toujours soumis aux règles de validation, il peut très bien avoir un soin "irréprochable" même s'il est géré par une communauté.
Sans vouloir dire du mal de lui, Kayl n'est pas un être supérieur, si ? S'il peut faire d'excellents tutos, d'autres personnes peuvent y arriver aussi. Et un tuto rédigé à plusieurs, c'est faisable : regarde ceux de GTK et python. Par contre c'est sûr faudrait désigner des gens. Mais attendons de voir ce qu'il en pense, s'il lui arrive de passer occasionnellement par ici. |
guimers8
|
# Posté le 08/06/2007 à 22:24:35 |
Cocoa/ObjC![]() Groupe : Membres |
Il pourrait y avoir un groupe de personnes assez expérimentées qui alimenteraient un autre tuto, faisant suite à celui de Kayl, sans que ce soit forcement le même.
Ou kayl pourrait désigner des personnes volontaires (éventuellement sur présentation de celles-ci).
Édité
le 08/06/2007 à 22:25:36
par guimers8
![]() Mac mini, Intel Core Duo à 1,83GHz avec 2 Go RAM. iPod Vidéo, 5.5G Noir, 30 Go. Au fait, pourquoi ne pas visiter… mon blog ? |
Nesquik69
|
# Posté le 09/06/2007 à 00:04:29 |
Slave of the Rythm![]() Groupe : Membres |
Le problème c'est que les tutoteurs officiels sont au nombre de deux parce que M@teo21 l'a voulu... et c'est un cas exceptionel!
Il vaut mieux que M@teo vous répondent lui-même mais je suis quasiment sûr de la réponse. |
shuss
|
# Posté le 09/06/2007 à 10:29:26 |
![]() Groupe : Membres |
|
M@teo21
|
# Posté le 09/06/2007 à 13:59:13 |
Doh ! Nuts. Mmh, donuts !![]() ![]() |
On ne fera pas de tuto à plusieurs avant la sortie du prochain vostutos qui permettra justement de faire cela (sans créer un compte partagé). Donc rien avant cela à ce niveau, et je n'y suis pas foncièrement opposé mais cette décision revient à son auteur.
Ce qui se conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément. Nicolas Boileau (je suis fan) Comment commenter une news sur le SdZ ? Suivez l'aventure du SdZ et de Simple IT sur notre blog ! |
Retour au forum "Langage C++" ou à la liste des forums
Vous devez être inscrit pour pouvoir poster des messages
Changer de design |
En savoir plus |
Plan du site |
Politique d'accessibilité |
Règles |
RSS tutoriels |
RSS news
Édité par Simple IT SARL :
Nous contacter
| Notre blog | Revue de presse | Publicité
Y'a plus rien à lire, faut remonter maintenant !
Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.
112 Zéros connectés |
6 requêtes |
0.1512s (0.1352s)
