Pages : 1
#1 Le 27/04/2020, à 10:54
- chris7522

Parametres constant (C++)
bonjour a tous les confinés ,
Je ne saisis pas vraiment la nuance entre ces 2 formes de parametres :
bool operator==(Duree const& a,Duree const& b)
{
return a.verif(b);
}
bool Duree::verif(const Duree& b)const
{
if(m_secondes==b.m_secondes && m_minutes==b.m_minutes && m_heures==b.m_heures)
return true;
else
return false;
}Le mot clé " const " est placé une fois apres le type , une fois avant :
...(Duree const& a) et
...(const Duree& b)Quel est la différence ?
Hors ligne
#2 Le 27/04/2020, à 15:47
- Nuliel

Re : Parametres constant (C++)
bool operator==(Duree const& a,Duree const& b)const& s'applique à a et à b. Tu passes donc en paramètre des références (pour éviter de recopier l'objet) constantes (pour éviter de les modifier)
bool Duree::verif(const Duree& b)constconst sert à indiquer que la méthode ne modifie pas l'objet, donc ne modifie ni m_secondes ni m_minutes ni m_heures
[ poster un retour de commande ] [ poster une photo ]
Thinkpad x220, Dell latitude E7270 (i7 6600U, 16 Go de RAM, ...), Thinkstation E32 modifié: i5-4570, GTX 1060 6 Gb, 16 Gb de RAM, ...
Mon nouveau blog: nuliel.fr
Hors ligne
#3 Le 27/04/2020, à 17:43
- grigouille

Re : Parametres constant (C++)
Le mot clé " const " est placé une fois apres le type , une fois avant :
...(Duree const& a) et ...(const Duree& b)Quel est la différence ?
Aucune.
Xubuntu 20.04
HP LaserJet M1132 MFP
Hors ligne
#4 Le 27/04/2020, à 17:53
- chris7522

Re : Parametres constant (C++)
Merci de ton aide .
bool Duree::verif(const Duree& b)const Pour ce qui est de cette ligne , j'avais compris l'utilité du dernier const qui empeche la méthode de modifier les attributs de l'objet , mais le const qui se trouve dans le parametre pris par la méthode ; ce const s'applique a quoi exactement , a l'objet b de type Durée ?
On ne pourrai pas faire : (Duree const& b) au lieu de (const Duree& b) ?
Car dans la ligne précédente , c'est le cas :
bool operator==(Duree const& a,Duree const& b)Hors ligne
#5 Le 27/04/2020, à 18:19
- chris7522

Re : Parametres constant (C++)
Merci grigouille nos reponses se sont croisée , je n'avais pas vu ton message .
Il est donc possible de placer le mot const avant ou apres .
Bien recu et merci a tous les deux .
Hors ligne
Pages : 1