Création d'une classe - C++ - Programmation
Marsh Posté le 01-12-2016 à 14:50:55
Bonjour !
La fonction amountAndFinalDay est de retour "void" dans le .h et std::string dans le .cpp
Idem pour dateEntry (void et bool)
De plus, dans le main, il manque les () à l'appel de la fonction Display.
Je n'ai pas vu d'autre chose ... (Mais, pour être un peu pointilleux, il faudrait déclarer "const" les méthodes qui ne modifient pas l'objet :les "get" et assimilés (p. ex. amountAndFinallyDat, Display, ...).
(Il y a d'autres raffinements qui pourraient être faits, mais chaque chose en son temps )
Bonne continuation !
Marsh Posté le 01-12-2016 à 17:01:10
Super ça fonctionne
Il a aussi fallu que je refasse le projet dans code::blocks car je n'avais initialement pas coché debug ni release lors de la création des fichiers MaDate.h et .cpp et le compilo me disait "undefined reference to 'MaDate...' " alors j'ai googlé
Et puis j'ai ajouté qq réinitialisations sinon ça cumulait quand je playAgain
Là j'ai plus qu'un warning, un statement has no effect (non used value) mais c'est sur un for, et où je ne déclare rien...
Merci
Marsh Posté le 01-12-2016 à 19:37:50
Lt Ripley a écrit : Là j'ai plus qu'un warning, un statement has no effect (non used value) mais c'est sur un for, et où je ne déclare rien... |
Si tu n'as rien à déclarer alors tu ne met rien tout simplement:
Code :
|
Tu peux même écrire
Code :
|
, tu auras alors une boucle sans fin.
Marsh Posté le 02-12-2016 à 16:58:55
çà avance bien
quand tu seras satisfait, cherche les raffinements évoqués par Farian.
Marsh Posté le 02-12-2016 à 18:06:36
Salut benriach
Pour l'instant je ne peux passer aucune fonction en const, j'ai essayé avec la fonction display, mais le compilateur me sort une erreur. Je pense que c'est parceque dans display j'appelle la fonction amountAndFinalDay qui modifie les attributs.
Sinon j'ai fait sauter un attribut dont je n'avais pas besoin (un string) en mettant directement "return moncalcul" au lieu de "return monattribut"
Là ce que je vois que je peux faire c'est utiliser un type moins gourmand au lieu de int pour certains attributs.
Edit : Voici mon nouveau code :
main.cpp
Code :
|
MaDate.h
Code :
|
MaDate.cpp
Code :
|
Marsh Posté le 01-12-2016 à 13:44:38
Bonjour à tous
Le compilateur me sort cette erreur "cannot resolve adress of overloaded function" à la ligne 29 du main, et ce même quand je mets un truc tout simple (pour tester) à la fonction Display, du genre "cout << "blah" << std::endl;"
Voici mes fichiers (je programme avec code::blocks et MinGW g++ 5.1 en c++14 si je ne dis pas de bêtises)
Je bloque depuis quelques heures
Thank you
main :
MaDate.h
MaDate.cpp
Message édité par Lt Ripley le 01-12-2016 à 13:45:07