J'essaie la comparaison de chaîne en utilisant la surcharge de l'opérateur J'utilise> opérateur, je ne reçois pas la sortie correcte, pouvez-vous me dire quelle erreur je fais ici est mon codeComparer quelle chaîne est plus grande en utilisant la surcharge de l'opérateur en C++
#include<iostream.h>
#include<stdio.h>
#include<string.h>
#include<conio.h>
class strclass
{
public:
char s1[20];
void getdata()
{
\t cin>>s1;
}
void showdata()
{
\t cout<<s1;
}
int operator>(strclass obj)
{
int temp,temp1;
temp=strlen(s1);
temp1=strlen(obj.s1);
if(temp>temp1)
{
return 1;
}
else
return 0;
}
};
void main()
{
clrscr();
strclass obj1,obj2;
int temp3;
if(obj1>obj2)
{
cout<<"string 1 is greater";
}
else
{
cout<<"string 2 is greater";
}
cout<<"enter string 1"<<endl;
obj1.getdata();
// obj1.showdata();
cout<<"enter string 2"<<endl;
obj2.getdata();
// obj2.showdata();
getch();
}
J'utilise les fonctions de base de la bibliothèque. Merci!
Pourquoi est-ce marqué C++ _ CLI? C'est le C++ de Microsoft avec les extensions .Net et nulle part dans ce code je ne vois que vous l'utilisez. Vous devriez également utiliser 'std :: string' pour les chaînes à la place des tableaux de caractères de style C et des fonctions de la bibliothèque C. – crashmstr
De plus, 'operator>' devrait retourner 'bool', pas' int'. – crashmstr
Je n'étais pas au courant de l'étiquette éditée merci –