Bonjour,
J'ai surcharg� les 6 op�rateurs de comparaison pour comparer un identifiant.
La surcharge marche parfaitement sous Windows et Linux Mandriva 2007 mais lorsque je le met sur un server Unix ces surcharges ne fonctionnent plus ?? (Plus pr�cisement il affiche toujours que les 2 identifiants sont diff�rent) Or sur les autres plateformes ca marche.
Voici l'appel :
et le code :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 system("cls"); cout<<endl<<"\t\t\t\t\t\tOPERATEUR DE COMPARAISON"<<endl; cout<<"\t\t\t\t\t\t------------------------"<<endl<<endl; log<<"Test des opérateurs de comparaison"; if((pm2.getID() < pm.getID())) cout<<" * ID de PM2 est plus petit que ID de PM"<<endl<<endl; f((pm.getID() <= pm2.getID())) cout<<" * ID de PM est plus petit ou egale a ID de PM2"<<endl<<endl; if((pm2.getID() > pm.getID())) cout<<" * ID de PM2 est plus grand que ID de PM"<<endl<<endl; if((pm2.getID() >= pm.getID())) cout<<" * ID de PM2 est plus grand ou egale a ID de PM"<<endl<<endl; if((pm.getID() == pm2.getID())) cout<<" * ID de PM est egale a ID de PM2"<<endl<<endl; if((pm.getID() != pm2.getID())) cout<<" * ID de PM est different de ID de PM2"<<endl<<endl; system("PAUSE"); break;
La m�thode getID() retourne biensur un objet Identifiant.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 int Identifiant::operator<(Identifiant & id) { if((strcmp(toString(), id.toString())) == -1) return 1; return 0; } int Identifiant::operator<=(Identifiant & id) { if((strcmp(toString(), id.toString())) == -1) return 1; return 0; } int Identifiant::operator>(Identifiant & id) { if((strcmp(toString(), id.toString())) == 1) return 1; return 0; } int Identifiant::operator>=(Identifiant & id) { if((strcmp(toString(), id.toString())) == 1) return 1; return 0; } int Identifiant::operator==(Identifiant & id) { if((strcmp(toString(), id.toString())) == 0) return 1; return 0; } int Identifiant::operator!=(Identifiant & id) { if((strcmp(toString(), id.toString())) != 0) return 1; return 0; }
Avez vous une id�e sur la raison du mauvais fonctionnement ???
Merci
Bonne journ�e
Partager