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)const
const sert à indiquer que la méthode ne modifie pas l'objet, donc ne modifie ni m_secondes ni m_minutes ni m_heures
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.
Debian (xfce) 12
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