jQuery
En savoir plus
Adobe Flex & Flash
En savoir plus
ASP.NET
En savoir plus

| Page Précédente 1 2 3 Suivante | |||||||
| Pseudo | Commentaire | ||||||
|---|---|---|---|---|---|---|---|
| Page Précédente 1 2 3 Suivante | |||||||
Marsignou
|
# Posté le 07/03/2009 à 20:44:17 | ||||||
Pense mais plaît![]() Groupe : Bannis
|
parfait
![]() ![]() |
||||||
Hakim-3i
|
# Posté le 14/06/2009 à 01:01:48 | ||||||
![]() |
Bravo M@teo toujours à la hauteur j'avoue que c'est le premier chapitre que j'ai lu deux fois pour bien comprendre ![]() mais c'est tes facile a la fin il faut un peut de l'imagination ![]() Edit: Note 19.99/20
|
||||||
BeRReGoN
|
# Posté le 06/08/2009 à 08:38:03 | ||||||
![]()
|
J'adore tes tutoriels, je m'étais commandé quelques livres pour apprendre le C++ mais entre temps j'étais tombé sur tes cours et c'est vraiment parfait pour bien débuter. Dans ce chapitre par contre, j'ai trouvé une contradiction je crois: Dans l'info en jaune, tu dis que les attributs d'objets de même classe sont accessibles : Citation on est dans une méthode de la classe Personnage, et on a le droit d'accéder à tous les éléments (même privés) d'un autre Personnage. mais dans la partie 1 sur les classes tu disais: Citation On ne peut pas modifier directement la vie de la cible en faisant cible.m_vie car la cible est un AUTRE objet (même s'il est aussi issu de la classe Personnage). On n'a le droit d'accéder qu'aux éléments publics de cet autre objet, donc à ses méthodes.
|
||||||
archendel
|
# Posté le 11/08/2009 à 16:30:27 | ||||||
|
|
Bonjour à tous ! J'ai un problème sous Visual C++... J'ai, dans ce chapitre, bien respecté tous ce qui était mraué mais lorsque je compile, ça me donne des tas d'erreur... Alors j'ai crus que j'avais dut me tromper sur 2 ou trois choses donc j'ai telechargé le fichier RPG de M@teo. Je l'ouvre je compile mais pareil ça me donne des tas d'erreurs : """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ------ Début de la génération : Projet : monprojetC++, Configuration : Debug Win32 ------ Compilation en cours... Personnage.cpp .\Personnage.cpp(1) : warning C4627: '#include <iostream>' : ignoré lors de la recherche d'une utilisation d'un en-tête précompilé Ajoutez la directive à 'stdafx.h' ou régénérez l'en-tête précompilé .\Personnage.cpp(69) : error C2065: 'cout' : identificateur non déclaré .\Personnage.cpp(70) : error C2065: 'cout' : identificateur non déclaré monprojetC++.cpp .\monprojetC++.cpp(2) : warning C4627: '#include "Personnage.h"' : ignoré lors de la recherche d'une utilisation d'un en-tête précompilé Ajoutez la directive à 'stdafx.h' ou régénérez l'en-tête précompilé .\monprojetC++.cpp(11) : error C2065: 'Personnage' : identificateur non déclaré .\monprojetC++.cpp(11) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'david' .\monprojetC++.cpp(11) : error C2065: 'david' : identificateur non déclaré .\monprojetC++.cpp(11) : error C3861: 'goliath' : identificateur introuvable .\monprojetC++.cpp(14) : error C2065: 'goliath' : identificateur non déclaré .\monprojetC++.cpp(14) : error C2228: la partie gauche de '.attaquer' doit avoir un class/struct/union le type est ''unknown-type'' .\monprojetC++.cpp(14) : error C2065: 'david' : identificateur non déclaré .\monprojetC++.cpp(15) : error C2065: 'david' : identificateur non déclaré .\monprojetC++.cpp(15) : error C2228: la partie gauche de '.boirePotionDeVie' doit avoir un class/struct/union le type est ''unknown-type'' .\monprojetC++.cpp(16) : error C2065: 'goliath' : identificateur non déclaré .\monprojetC++.cpp(16) : error C2228: la partie gauche de '.attaquer' doit avoir un class/struct/union le type est ''unknown-type'' .\monprojetC++.cpp(16) : error C2065: 'david' : identificateur non déclaré .\monprojetC++.cpp(17) : error C2065: 'david' : identificateur non déclaré .\monprojetC++.cpp(17) : error C2228: la partie gauche de '.attaquer' doit avoir un class/struct/union le type est ''unknown-type'' .\monprojetC++.cpp(17) : error C2065: 'goliath' : identificateur non déclaré .\monprojetC++.cpp(18) : error C2065: 'goliath' : identificateur non déclaré .\monprojetC++.cpp(18) : error C2228: la partie gauche de '.changerArme' doit avoir un class/struct/union le type est ''unknown-type'' .\monprojetC++.cpp(19) : error C2065: 'goliath' : identificateur non déclaré .\monprojetC++.cpp(19) : error C2228: la partie gauche de '.attaquer' doit avoir un class/struct/union le type est ''unknown-type'' .\monprojetC++.cpp(19) : error C2065: 'david' : identificateur non déclaré .\monprojetC++.cpp(23) : error C2065: 'david' : identificateur non déclaré .\monprojetC++.cpp(23) : error C2228: la partie gauche de '.afficherEtat' doit avoir un class/struct/union le type est ''unknown-type'' .\monprojetC++.cpp(25) : error C2065: 'goliath' : identificateur non déclaré .\monprojetC++.cpp(25) : error C2228: la partie gauche de '.afficherEtat' doit avoir un class/struct/union le type est ''unknown-type'' Arme.cpp .\Arme.cpp(1) : warning C4627: '#include <iostream>' : ignoré lors de la recherche d'une utilisation d'un en-tête précompilé Ajoutez la directive à 'stdafx.h' ou régénérez l'en-tête précompilé .\Arme.cpp(27) : error C2065: 'cout' : identificateur non déclaré Génération de code en cours... Le journal de génération a été enregistré à l'emplacement "file://d:\Program Files\Programmation C++\mesprogrammes\monprojetC++\monprojetC++\Debug\BuildLog.htm" monprojetC++ - 27 erreur(s), 3 avertissement(s) ========== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ========== """""""""""""""""""""""""""""""""""""""""""""""""""""""""" Voila mes erreurs :s En fait, sur le fichier RPG, au début je l'ouvre avec Visual C++, mais lorsque je comppile, ils me disent que j'ai oublié de mettre #include "stdafx.h" dans un de mes fichiers :s Donc je l'ai rajouté dans main.cpp(mon fichier projet), Personnage.cpp, Arme.cpp, Arme.h et Personnage.h. C'est la seule modification que j'ai faite. Mais ça me donne les erreurs que je vous ai marqué plus haut... J'attend vos aides avec impatience ! Merci d'avance. |
||||||
checktest
|
# Posté le 26/09/2009 à 08:11:56 | ||||||
|
|
Je suis d'accord avec BeRReGoN, c'est contradictoire. | ||||||
tyt
|
# Posté le 28/09/2009 à 01:16:31 | ||||||
|
|
slt ,archendel je crois que le problème est du au fait que dans le personnage.h il y a absence de la librairie <string> , essaye et tu me fais savoir si ça marche | ||||||
lolo97434
|
# Posté le 28/09/2009 à 11:22:46 | ||||||
|
|
Je suis d'accord avec checktest et BeRReGoN, j'ai tout de suite bloqué dessus quand j'ai vu tes lignes de code! Apparemment je suis pas le seul à ne pas avoir compris l'exception. Quand, on a implémenté la methode 'attaquer' de Personnage, on a appelé la méthode 'recevoirDegats' de l'objet cible pour lui enlever des points de vie, sa 'm_vie' n'étant pas accessible car private. Alors pourquoi ici, on peut accéder aux attributs?! Des explications s'imposent professeur... Ou alors ceux qui ont compris, aidez nous svp! |
||||||
tecrob93
|
# Posté le 03/10/2009 à 04:22:11 | ||||||
|
Never think before doing.
|
lolo97434, checktest, BeRReGoN, je dois vous dire que c'est la raison la plus simple du monde. Cela se déroule en trois étapes pour le cas que vous connaissez : 1. Appeler la fonction "attaquer"... 2. ... qui appelle la fonction "recevoirDegats"... 3. ... qui modifie la vie de la cible. Ensuite, il s'agit du cas qui vous questionne qui lui, se déroule en seulement 2 étapes : 1. On veut copier le personnage A pour créer un personnage B... 2. ... et on "jette un coup d'oeil" à l'objet de départ pour pouvoir le copier. En gros, on peut REGARDER les attributs/méthodes d'un objet DE LA MÊME CLASSE pour la copie. On pourrait comparer ça à un cours de maths : Vous êtes nul en maths. Un ami à vous (assis à votre droite) vous laisse regarder sur sa feuille, à la condition qu'il soit sur de ne pas se faire prendre. Donc, le fait de copier une classe est considéré comme "le professeur qui regarde ailleurs" et le fait de copier les méthodes/attributs de l'autre objet est l'équivalent de "copier sur la feuille de l'autre". Récapitulons : 1. C'est un examen, le prof regarde, vous devez tout faire par vous même. / Vous utilisez une méthode, vous devez utiliser des méthodes pour voir les attributs. 2. C'est toujours le même examen, le prof ne regarde pas, vous pouvez copier. / Vous copiez un objet, vous pouvez voir les détails pour le copier sans vous tromper. C'est mieux? 私はてくたつきです。 |
||||||
tecrob93
|
# Posté le 06/10/2009 à 02:54:54 | ||||||
|
Never think before doing.
|
En effet, le pointeur "this" peut être réellement utile lorsqu'on veut dire : 1. Utilise la méthode "utiliserObjet" en lui donnant comme paramètre un objet "Item" à partir du personnage... 2. ...qui appelle la méthode "utiliser" de l'objet en question... 3. ...qui appelle la méthode "régénère" du personnage utilisateur. Donc, avant même d'avoir été plus loin, j'ai compris l'une des utilisations du pointeur "this".
私はてくたつきです。 |
||||||
Aweb
|
# Posté le 09/06/2010 à 20:24:02 | ||||||
Isépien? (Cycle préparatoir)![]() |
Ce chapitre n'aborde pas du tout le cas où le pointeur "pioche" dans une série d'éléments et où on ne doit pas faire delete dans le destructeur, c'est dommage...
Résistons aux signatures bidons! |
||||||
dearth
|
# Posté le 08/08/2010 à 13:57:31 | ||||||
Developpeur Web![]()
Ville : Le havre |
J'ai pas trop compris l'intérêt d'utiliser un pointeur dans une classe pour moi le seul changement que j'ai vu c'est Code : C++
devient : Code : C++
Enfaite je comprends pas trop le changement qu'il y aura :/ |
||||||
FyndWyre
|
# Posté le 24/08/2010 à 12:39:15 | ||||||
![]() Avis : Très bon Groupe : Bannis
|
Dearth : Citation Nous vous rappelons que cet espace est réservé aux commentaires à propos des tutoriels, veillez donc à ne pas poser vos questions dans cette section.
Pour cela, rendez-vous sur le forum ! Merci. ![]() ![]() ![]() ![]() Absent en semaine ! |
||||||
le_juif_noir
|
# Posté le 27/08/2010 à 18:22:41 | ||||||
![]() Avis : Très bon
Ville : Yamoussoukro |
Je n'ai pas encore lu le tuto mais je sais que je vais l'adorer, puisque j'aime les manières les plus faciles d'apprendre les pointeurs qui sont très difficiles.
Développeur .NET (Windows|Web|Phone) C#, Silverlight, WPF, WP7, ADO .NET, LINQ, ... |
||||||
le_juif_noir
|
# Posté le 30/08/2010 à 13:42:37 | ||||||
![]() Avis : Très bon
Ville : Yamoussoukro |
Difficile la partie sur le constructeur de copie, je comprends le but mais pas la méthode alors je relis une seconde fois pour que tout soit clair dans ma tête .Dis Mateo tu l'a comprise dès ta prémière approche
Développeur .NET (Windows|Web|Phone) C#, Silverlight, WPF, WP7, ADO .NET, LINQ, ... |
||||||
Zangdaarr
|
# Posté le 22/09/2010 à 09:59:37 | ||||||
|
|
Question qui est peut-être con, pourquoi n'est-il pas pertinent d'avoir plusieurs pointeurs qui pointent vers le même objet? Dans notre cas si l'arme est identique pour 100 personnages c'est mieux d'avoir 1 arme et 100 pointeurs vers cette arme au lieu d'allouer 100 fois la mémoire pour l'arme. Bien sur, il ne faudrait pas détruire l'objet arme dans ce cas. Sinon, j'ai du mal à voir l'intérêt d'utiliser les pointeurs pour le coup vu que tout ce qui est donné comme avantage en haut du cours peut être fait sans. Autre question con: pourquoi ne pas utiliser de références? |
||||||
stakanov
|
# Posté le 01/11/2010 à 01:17:52 | ||||||
Vivre ou Mourir![]() Avis : Très bon
|
Super le tutoriel bien que j'ai du relire plusieurs fois la partie sur les constructeur de copie 20/20
IN THE POCKET Pour les fans de résident evil je crée un site sur le sujet http://bibliothequeumbrella.free.fr/ |
||||||
a.house
|
# Posté le 02/01/2011 à 21:22:45 | ||||||
![]()
|
salut j'ai une idée de faire des compétitions entre les membres de forum pour réaliser des projets. | ||||||
amino23fr
|
# Posté le 14/02/2011 à 06:48:48 | ||||||
![]()
|
SVP :j'ai 2 question : 1) quand on fait une classe Arme qui est associé a Classe personnage , on est pas obligé de faire un destructeur ? moi j'ai essayé sans et avec et ça marché dans les deux cas . mais dans qu'elle cas on est obligé de faire un destructeur dans Arme? 2)a quoi ressemblereai le constructeur de copie Arme ? j'ai essayé de le faire ça compilé mais la console est partie apres l'affichage . j'ai fait qq chose de ce genre : Arme:: Arme(const Arme &arme) { m_nom=arme.m_nom; m_degat=arme.m_degat; } Merci . |
||||||
mateurlastar
|
# Posté le 29/03/2011 à 21:19:52 | ||||||
![]() Avis : Très bon
|
Moi aussi j'ai unequestion je n'est pas bien compris cette partit: N'oubliez pas que m_arme est maintenant un pointeur ! Cela implique de changer toutes les méthodes qui l'utilisent. Par exemple: void Personnage::attaquer(Personnage &cible) { cible.recevoirDegats(m_arme.getDegats()); } ... devient : void Personnage::attaquer(Personnage &cible) { cible.recevoirDegats(m_arme->getDegats()); } Notez la différence : le point a été remplacé par la flèche, car m_arme est un pointeur. Cela ne devrait pas être nouveau pour vous si vous avez bien suivi le cours jusqu'ici, mais je préfère le rappeler sait-on jamais A quoi cela sert t'il de changer le point en une fleche? |
||||||
Azulkb
|
# Posté le 13/04/2011 à 16:21:30 | ||||||
|
|
Passionnant ) je suis un vrai débutant en c++ mais franchement c'est accessible; cependant une question (oui peut être j'ai mal compris le chapitre sur les surcharges) j'ai du mal a faire la différence entre Code : C++
et ceci Code : C++
car c'est un peu ce qui ma bloqué dans ce chapitre si sur le operator= et sur le chapitre précèdent sur le operator=+ Si c'est identique je préfère la deuxième version qui est bq plus clair pour moi |
||||||
gaulois94
|
# Posté le 05/06/2011 à 23:29:25 | ||||||
![]() Avis : Très bon Groupe : Bannis
|
ben le premier renvoi un objets (sur l'ancien chapitre il renvoyais un objet de type durée) et le seconde ne renvoie rien. imagine pour le premier que l'objet est string. La normalement tu devrais avoir tout compris. Mes programmes créé (les tout premiers ainsi que les derniers) http://gaulois94.rd-h.fr/Programme/Programmes.zip. N'hésitez pas a me faire des commentaires. |
||||||
rob9782
|
# Posté le 21/08/2011 à 11:20:18 | ||||||
![]() Avis : Très bon
|
ta methode c'est : Code : C++
et par conséquent: Code : C++
this pointe sur le kekechose
90% of teens today would die if Facebook was completely destroyed. If you are one of the 10% that would be laughing, copy and paste this to your signature. |
||||||
Leazerface
|
# Posté le 01/09/2011 à 13:54:28 | ||||||
![]()
|
Bon, pour la surcharge de l'opérateur= on fait : "delete m_arme;" systématiquement. Or, théoriquement rien n'empêche de faire un (constructeur de) Personnage sans arme ! Dans ce cas, on supprimerait un pointeur vide. Je ne sais pas si c'est dérangeant, mais peut-être faudrait-il tester if(m_arme!=0). Merci
La culture, c'est comme la confiture, moins on en a, plus on l'étale ! Ne prenez pas la vie trop au sérieux, de toute façon vous n'en ressortirez pas vivant ;p |
||||||
Thedrake
|
# Posté le 04/09/2011 à 21:36:59 | ||||||
A wandering dragon.![]()
|
Petite remarque à part: [quote]Vous vous demandez peut-être comment cela se fait qu'on puisse accéder aux attributs m_vie et m_mana du personnageACopier ? Si vous vous l'êtes demandé, je vous félicite, ça veut dire que le principe d'encapsulation commence à rentrer dans votre tête. Eh oui, en effet, m_vie et m_mana sont privés, donc on ne peut pas y accéder depuis l'extérieur de la classe... sauf qu'il y a une exception ici : on est dans une méthode de la classe Personnage, et on a le droit d'accéder à tous les éléments (même privés) d'un autre Personnage.[/quote] Je sais que ça n'aidera personne, mais j'ai envi de dire que tu as déjà expliqué sur un ancien chapitre qu'une méthode d'une classe peut modifier les attributs de n'importe quel objet de cette même classe, donc se poser la question ci-dessus voudrait dire qu'on à oublié des trucs qui ont été dits~ ![]() Mise à part ça, cours sympa comme tout ceux que j'ai vu ici, cependant, j'aurais une question: ci je décide que dans mon jeu, il y ai une épée de cuivre, une d'argent et une d'or, et c'est tout, est-ce une tare de, si on copie un objet, de laisser le pointeur sur la même arme? Je trouve que cette solution est parfaitement possible dans mon cas, donc le constructeur de copie par défaut conviendrais dans cette situation. |
||||||
cardman
|
# Posté le 07/09/2011 à 13:41:07 | ||||||
|
Avis : Très bon
Ville : Condécourt |
Bonjour tout le monde, serait-il possible de ne pas utiliser de pointeurs dans la classe mais de renvoyer les adresses des attributs de la classe pour pouvoir les modifier à l'extérieur? Voici un support pour une éventuelle nouvelle sous-partie: fichier point.h: Code : C++
fichier point.cpp: Code : C++
fichier main.cpp: Code : C++
On évite le plus possible d'utiliser des pointeurs dans la classe. Au niveau de l'encapsulation, c'est meilleur. François Mercier des Rochettes. |
||||||
Itch'nak
|
# Posté le 17/09/2011 à 14:22:54 | ||||||
![]()
|
Citation : cardman Code : C++
On évite le plus possible d'utiliser des pointeurs dans la classe. Au niveau de l'encapsulation, c'est meilleur. Un petit point, quand tu mets Code : C++
Ca signifie que tu changes la variable sur laquelle pointe a. Pour modifier l'adresse, tu dois mettre : Code : C++
Après, je réponds pas à ta question mais bon ... XD 90% of teens today would die if Facebook was completely destroyed. If you are one of the 10% that would be laughing, copy and paste this to your signature. |
||||||
-Dr3ck-
|
# Posté le 12/01/2012 à 19:34:30 | ||||||
///Testostérone\\\![]()
|
C'est fou ! Je comprends tout ! Tu explique tellement bien *_* Merci mille fois Mateo21 !
U MAD BRO ? ![]() |
||||||
Programpriv
|
# Posté le 11/02/2012 à 13:40:18 | ||||||
C'est beau C++ !![]() Avis : Très bon
|
Bonjour, Ce chapitre est selon moi, incomplet. Peut être que je me trompe, mais le sujet des pointeurs, que ce soit dans des types classiques ou des objets, sont une affaire de mémoire. Je suis assez épaté de voir qu'on en parle pas dans ce chapitre, pourtant je pense que ce serait indispensable. En pratique, quand nous analysons certains cas de conception avec les pointeurs, il serait utile de parler un peu de la mémoire. Sinon bon tutotage ! EDIT (suite à la réponse de Nanoc) : oui, mais il faut imaginer une chose, c'est que se passe t-il quand un objet est dans un autre objet, ou si il est pointé par celui-ci. Prenons l'exemple Objet A, Objet B et Objet C. En premier A a déclaré B, donc B est "dans" A. Ensuite A pointe sur C, donc C n'est pas "dans" A. Maintenant, pour les curieux, et pour comprendre certaines implémentations très complexes que nous pouvons rencontrer, je pense qu'il serait intéressant de faire juste une précision à ce sujet, car les questions suivantes pourront se poser : "Est-ce que dans la mémoire A englobe B ?" (donc un plus gros nombres de "cases mémoires" occupés dans un seul espace) ou "Est-ce que B n'est pas dans A, mais "séparés" par une sorte de lien ?". Pour un débutant, ce n'est pas forcément évident de comprendre ça, et quand on arrive à des problèmes de conceptions et d'optimisations, il y a un manque. ![]() Sinon, pour le reste, c'est Nickel (un 17/20 facilement) |
||||||
Nanoc
|
# Posté le 11/02/2012 à 20:42:02 | ||||||
Aimez-vous le C++ ?![]()
|
Tout cela est expliqué dans la partie I du tuto. Il n'y a rien de plus à ajouter à ce niveau.
Auteur d'un livre : Programmez avec le langage C++ Mes tutos : [C++] Cours officiel pour débutants, [C++] Manipulateurs de flux, [C++] Pointeurs sur fonctions, [C++] Maîtriser le compilateur g++, [C++] Déboguer avec Code::Blocks |
||||||
maramu
|
# Posté le 27/02/2012 à 21:57:14 | ||||||
|
Avis : Bon
|
Bonjour, Je trouve que ce cours manque vraiment de l'exemple de la liste chaînée pour fournir un cas concret sur l'utilisation des pointeurs sur objets. Code : C++
Code : C++
En espérant que vous ajoutiez cet exemple. Je vous remercie pour toutes ces explications. Bien cordialement, Maramu |
||||||
