重载运算符
菜鸟求助!
下面是我做的一个重载运算符的一个程序。重新定义<>=,比较两个日期。
有问题了,求改正!
#include <iostream>#include <cstring>using namespace std;class bijiao{private: char * riqi1; char * riqi2;public: void get_char(); int operator < (char * riqi1,char * riqi2); int operator > (char * riqi1,char * riqi2); int operator = (char * riqi1,char * riqi2); void display();};void bijiao::get_char(){ gets(riqi1); gets(riqi2);}int bijiao::operator < (char * riqi1,char * riqi2){ if(strcmp(riqi1,riqi2)==-1) return 1; else return 0;}int bijiao::operator > (char * riqi1,char * riqi2){ return strcmp(riqi1,riqi2);}int bijiao::operator = (char * riqi1,char * riqi2){ if(strcmp(riqi1,riqi2)==0) return 1; else return 0;}void bijiao::display(){ if(riqi1>riqi2) cout<<riqi1<<"<"<<riqi2<<endl; else if(riqi1=riqi2) cout<<riqi1<<"="<<riqi2<<endl; else cout<<riqi1<<">"<<riqi2<<endl;}void main(){ bijiao a; a.get_char(); a.display();}#include <iostream>#include <cstring>using namespace std;class bijiao{private: char riqi1[100];// char * riqi2;public: void get_char(); int operator <(const char* riqi2); int operator >(const char* riqi2); int operator ==(const char* riqi2); void display(const char* riqi2);};void bijiao::get_char(){ gets(riqi1);/* gets(riqi2);*/}int bijiao::operator < (const char* riqi2){ if(strcmp(riqi1,riqi2)==-1) return 1; else return 0;}int bijiao::operator > (const char* riqi2){ return strcmp(riqi1,riqi2);}int bijiao::operator ==(const char* riqi2){ if(strcmp(riqi1,riqi2)==0) return 1; else return 0;}void bijiao::display(const char* riqi2){ if(riqi1>riqi2) cout<<riqi1<<"<"<<riqi2<<endl; else if(riqi1==riqi2) cout<<riqi1<<"="<<riqi2<<endl; else cout<<riqi1<<">"<<riqi2<<endl;}void main(){ bijiao a; char tmp[]="abcdefg"; a.get_char(); a.display(tmp);}