Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/04/2020, à 11: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, à 16: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, à 18:43

grigouille

Re : Parametres constant (C++)

chris7522 a écrit :

   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, à 18: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, à 19: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