CLASSE DATE C++ AVEC FORMAT ET VALEUR NULLE

BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005 - 30 août 2004 à 11:07
bipcpp Messages postés 40 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 2 mai 2010 - 30 août 2004 à 19:54
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/25742-classe-date-c-avec-format-et-valeur-nulle

bipcpp Messages postés 40 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 2 mai 2010
30 août 2004 à 19:54
Merci d'avoir passer quelques minutes sur mon code.

>> dans une classe, les membres sont privés par défaut.
Tu as raison, mais je trouve que c'est plus lisible de le préciser.

>>peut-etre également rajouter un membre statique :
static BP_Date today()
C'est une excellente idée. Tellement bonne que j'y ai pensé et que c'est déjà fait. (je l'ai seulement appelé setnow)

>>rajouter également des opérateurs pour les operations entre date, pour ajouter un jour/un mois/une année ?
Ca c'est prévu pour la prochaine version, avec comparaison de dates (<,<=,>,>=,...)

>>int BP_Date::day (void); => ca c'est une déclaration C-Style, en c++ on ne met plutôt int BP_Date::day ();
J'ai un penchant pour le void qui indique clairement qu'il n'y a pas de paramètres, mais je vais y réfléchir.

A+
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
30 août 2004 à 11:14
int BP_Date::day (void); => ca c'est une déclaration C-Style, en c++ on ne met plutôt int BP_Date::day ();
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
30 août 2004 à 11:13
rajouter également des opérateurs pour les operations entre date, pour ajouter un jour/un mois/une année ?

si tu veux aussi comparer avec une lib existente, tu peux regarder boost::datetime (www.boost.org)
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
30 août 2004 à 11:11
peut-etre également rajouter un membre statique :
static BP_Date today()
{
DP_Date d;
d.settimet(time(NULL));
return d;
}
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
30 août 2004 à 11:07
juste au niveau des définitions :

class BP_Date
{
private:

dans une classe, les membres sont privés par défaut.

peut-être faire des constructeurs pour
setdatetime (const int BPyear, const int BPmonth, const int BPday,
const int BPhour, const int BPmin, const int BPsec);
set (const std::string BPdate);

ne pas oublier la constance des membres qui ne modifient pas les données
ne pas oublier non plus le destructeur virtuel

BP_Date::settimet (time_t BPtimet); BP_Date::setnull (void); reset (void);
=> et le type de retour ?
Rejoignez-nous