Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[debutant] Premier programme en C++, qu'en pensez-vous?

54 réponses
Avatar
Beware
Bonjour,

J'ai depuis une grosse semaine commenc=E9 =E0 apprendre le C++. Je
l'apprends de mani=E8re autonome (ce qui n'est pas totalement une
excuse). Pour ce fait, je suis les tutos pour C++ du site du zero.

J'ai donc utilis=E9 leur exemple de (tr=E9s tr=E9s) petit RPG, mais qui me
permet de manipuler certains concept de base en C++.

Pour en revenir donc =E0 ce message, je voudrais demander aux
connaisseurs qui peuvent et surtout qui veulent si il pouvait jeter un
oeil =E0 mon code pour me dire tout ce qu'il ne va pas et que par
cons=E9quent je devrais am=E9liorer (ou carr=E9ment changer :) )

Merci =E0 eux.

L'ensemble des fichiers sont disponibles =E0 cette adresse :
http://beware007.free.fr/Projet_C++/rpg/

Au revoir

PS : Je pr=E9cise que j'ai cod=E9 sous C::B et sous Linux.

10 réponses

1 2 3 4 5
Avatar
Mathias Gaunard
On 27 juil, 20:15, Beware wrote:

Pour en revenir donc à ce message, je voudrais demander aux
connaisseurs qui peuvent et surtout qui veulent si il pouvait jeter un
oeil à mon code pour me dire tout ce qu'il ne va pas et que par
conséquent je devrais améliorer (ou carrément changer :) )



Le constructeur de copie et l'opérateur d'affectation de Combat (ceux
générés par défaut), ne sont pas bons.
Plusieurs solutions :
- rend Combat non-copyable
- n'utilise pas de pointeurs comme membres (puisque de toutes façons,
tu utilises des pointeurs pour rien)
- redéfinis les.

Pareil pour Personnage.

La manière dont tu gères la durée de vie de l'argument dans
Personnage::setArme(Arme*) est aussi plutôt une mauvaise idée, et
assez dangereux finalement, si tu veux mon avis.
Tu ferais mieux de virer tous ces pointeurs...
Avatar
Michael Doubez
On 27 juil, 20:15, Beware wrote:
J'ai depuis une grosse semaine commencé à apprendre le C++. Je
l'apprends de manière autonome (ce qui n'est pas totalement une
excuse). Pour ce fait, je suis les tutos pour C++ du site du zero.



Je ne connais pas de bon tutoriel c++ mais il y a aussi celui de
devellopez qui semble assez fourni (bien qu'il prenne aussi l'approche
C pour enseigner le C++).
http://cpp.developpez.com/cours/

J'ai donc utilisé leur exemple de (trés trés) petit RPG, mais qui m e
permet de manipuler certains concept de base en C++.

Pour en revenir donc à ce message, je voudrais demander aux
connaisseurs qui peuvent et surtout qui veulent si il pouvait jeter un
oeil à mon code pour me dire tout ce qu'il ne va pas et que par
conséquent je devrais améliorer (ou carrément changer :) )
L'ensemble des fichiers sont disponibles à cette adresse :http://beware 007.free.fr/Projet_C++/rpg/



Du point de vue programmation pure:
- utilises des const ou des enums plutôt que des defines
- tu fais un delete dans le destructeur de Personnage alors que
m_arme n'a pas été positionné.
- tu fais des new non nécessaire (par exemple combat1 dans main.

--
Michael
Avatar
jerome
"Michael Doubez" a écrit dans le message de news:


Je ne connais pas de bon tutoriel c++



Non, il ne peut y en avoir par définition.

mais il y a aussi celui de devellopez qui semble assez fourni
http://cpp.developpez.com/



C'est nul (et c'est un euphémisme) et ce site est malsain (cf tests cmcm et
autres)
Avatar
Stephane
Beware wrote:
Bonjour,

J'ai depuis une grosse semaine commencé à apprendre le C++. Je
l'apprends de manière autonome (ce qui n'est pas totalement une
excuse). Pour ce fait, je suis les tutos pour C++ du site du zero.



Alors arrête de suite.
C'est du niveau 12 ans et rempli de conneries (c'est écrit par des
étudiants, si, si (!!!)... qui n'ont donc aucune expérience
professionnelle et mélangent tout (QT, C, C++, etc.. )

Lis un bon bouquin (Deitel ou autre) si tu veux apprendre sérieusement.
Il n'y a pas d'autres méthodes...
Avatar
Mathias Gaunard
On 28 juil, 13:07, Stephane wrote:

Lis un bon bouquin (Deitel ou autre) si tu veux apprendre sérieusement.
Il n'y a pas d'autres méthodes...



N'importe quoi. On peut très bien apprendre sérieusement d'un nombre
infini de méthodes.
Avatar
Antoine
Mathias Gaunard wrote:

On 28 juil, 13:07, Stephane wrote:


>>Lis un bon bouquin (Deitel ou autre) si tu veux apprendre sérieusement.
Il n'y a pas d'autres méthodes...




N'importe quoi. On peut très bien apprendre sérieusement d'un nombre
infini de méthodes.



Mais bien sûr, et la marmotte.
Tu as vu le niveau sur ces forums de ceux qui sortent "je maitrise le C
et le C++" ? C'est à tomber à la renverse !
La seule manière valable pour apprendre depuis la création des langages
est avec les livres de référence.
Les tutoriaux écrits par des ados, c'est de la rigolade et même
dangereux car il faut ensuite tout désapprendre.
Tu ne dois pas être très âgé, ni expérimenté...
Avatar
Gabriel Dos Reis
Antoine writes:

[...]

| La seule manière valable pour apprendre depuis la création des
| langages est avec les livres de référence.

Et écrire des programmes -- prend n'importe quel problème (de tai lle
raisonnable) qui a une solution algorithmique ; essaie de programmer la
solution.

Et lire beaucoup de programmes écrits par d'autres personnes pour
apprendre du « style » et des idiomes.
(Bon, OK, malheuresement il y a beaucoup de craps sur le net et il est
parfois difficile de faire le tri, surtout lorsqu'on commence.)

Et écrire beaucoup de programmes. C'est un peu comme apprendre à
conduire, il ne suffit pas de lire le code de la route ; il faut aussi
de la pratique. Beaucoup de pratique.

Cultiver du goût pour l'élégance et la simplicité.

| Les tutoriaux écrits par des ados, c'est de la rigolade et même
| dangereux car il faut ensuite tout désapprendre.

Il faut voir quels « ados » -- j'ai eu la chance d'en croiser que lques uns
qui se débrouillaient plutôt pas mal -- nettement mieux que la mo yenne
des adultes, je dirais. Je présume que tu voulais parler de compà ©tence
et pas d'âge.

| Tu ne dois pas être très âgé, ni expérimentà ©...

ouais, m'enfin l'âge n'est pas vraiment déterminant...

-- Gaby
Avatar
Antoine
Gabriel Dos Reis wrote:

> ouais, m'enfin l'âge n'est pas vraiment déterminant...

Parce que tu n'as pas dû aller faire un tour sur les forums d'ados genre
sdz ou developpez :-)

C'est du genre, en langage SMS insupportable à lire : "C++, cé plus
puissant que C", "C++, sa me fé tro kifé", etc...
C'est 12-15 ans de moyenne, et d'un niveau technique d'une nullité
ahurissante, qu'on ne peut vraiment pas comparer à celle d'un
consultant, même moyen, de 45 balais ayant 20 ans d'expérience en SSII
ou Freelance.
C'est un autre monde.
Avatar
Gabriel Dos Reis
Antoine writes:

| Gabriel Dos Reis wrote:
|
| > ouais, m'enfin l'âge n'est pas vraiment déterminant...
|
| Parce que tu n'as pas dû aller faire un tour sur les forums d'ados
| genre sdz ou developpez :-)

C'est vrai; mais, est-ce que -- en supposant le problème de traduction
de SMS en français résolu -- le contenu moyen est largement inf érieur à
celui des fora supposés fréquentés majoritairement par des a dultes ?

| C'est du genre, en langage SMS insupportable à lire : "C++, cé plus
| puissant que C", "C++, sa me fé tro kifé", etc...
| C'est 12-15 ans de moyenne, et d'un niveau technique d'une nullité
| ahurissante, qu'on ne peut vraiment pas comparer à celle d'un
| consultant, même moyen, de 45 balais ayant 20 ans d'expérience en SSII
| ou Freelance.
| C'est un autre monde.

Un peu comme Usenet :-)

-- Gaby
Avatar
domi
Gabriel Dos Reis wrote:

Un peu comme Usenet :-)



Mais Usenet est encore préservé (bien que cela dépende des groupes...)
et les jeunes ne connaissent d'ailleurs même pas son existence.
L'âge et le niveau restent encore largement supérieurs.
Les fora Web, c'est devenu une poubelle (n'importe qui y va de son
"tuto", où les jeunes de 18 ans jouent les cadors face à ceux de 12,
souvent en faisant du copier-coller de vieux posts de Usenet quand un
lien Google tombe dessus :-)
1 2 3 4 5