[C++] j ai un doute, peut on redefinir l operateur ">" (superieur)

j ai un doute, peut on redefinir l operateur ">" (superieur) [C++] - Programmation

Marsh Posté le 05-03-2002 à 21:17:16    

et si ou avec quel prototype ??  
 
(si je met 1 argument, le compilo en veut 2, et si j en mets 2, il en veut qu 1 !!)

Reply

Marsh Posté le 05-03-2002 à 21:17:16   

Reply

Marsh Posté le 05-03-2002 à 22:16:53    

sté afcile... soluce : surcharge d'operateur ...
 
exemple :
 
dans .h
bool operator < (const date&);
bool operator > (const date&);
 
dans .cpp
bool date :: operator < (const date& d2)
//surcharge de l'operateur <
{
 int res=testersurdate(d2);
 if (res==-1)
 {
  cout<<"D1 est avant D2"<<endl;
  return true;
 }
 else
 {
  cout<<"D1 n'est pas avant D2"<<endl;
  return false;
 }
}
 
bool date :: operator > (const date& d2)
//surcharge de l'operateur >
{
 int res=testersurdate(d2);
 if (res==1)
 {
  cout<<"D1 est apres D2"<<endl;
  return true;
 }
 else
 {
  cout<<"D1 n'est pas apres D2"<<endl;
  return false;
 }
}
 
 
en fait tu refais ta fonction avec tes propres params...

Reply

Marsh Posté le 05-03-2002 à 22:57:38    

d'ailleurs, pour ce genre d'operateur y'a pas de raison de privilegier un coté % à l'autre donc moi je le mettrais plutot en friend de la classe date et le sortirais de la decl de la classe...
 
ds .h
class date
{
friend bool operator > (const date &a, const date &b);
};
 
ds .cpp
 
bool operator > (const date &a, const date &b)
{
if(blablabla)
  return true;
else
  return false;
}

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed