p324 重载双目运算符2.cpp

来自「谭浩强 《C++ 程序设计》第三版的部分课后练习题源码」· C++ 代码 · 共 61 行

CPP
61
字号
# include<iostream>
# include<string>
using namespace std;
class String
{
      private:
              char*p;
      public:
             String()
             {
                     p=NULL;        
             }
             String(char*str)
             {
                     p=str;
             }
            void display();
            friend bool operator==(String &s1,String &s2);
            friend bool operator<(String &s1,String &s2);
            friend bool operator>(String &s1,String &s2); 
};

void String::display()
{
     cout<<p;
     
     }

bool operator==(String &s1,String &s2)
{
     if(strcmp(s1.p,s2.p)==0) return true;
     else return false;
}

bool operator<(String &s1,String &s2)
{
     if(strcmp(s1.p,s2.p)<0) return true;
     else return false;
}

bool operator>(String &s1,String &s2)
{
     if(strcmp(s1.p,s2.p)>0) return true;
     else return false;
}
void compare(String &s1,String &s2 )
{
     if(s1>s2)  {s1.display();cout<<">"; s2.display();}
         else if(s1==s2)  {s1.display();cout<<"="; s2.display();}
            else if(s1<s2)  {s1.display();cout<<"<"; s2.display();}
     
     }
int main()
{   String s1("songying"),s2("laoda");
    compare(s1,s2);
    system("pause");
    return 0;
    
    
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?