j ai un doute, peut on redefinir l operateur ">" (superieur) [C++] - Programmation
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...
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;
}
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 !!)