⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 重载双目运算符.cpp

📁 关于重载双目运算符的一个实例
💻 CPP
字号:
#include <iostream>
using namespace std;
class String
{public:
        String(){p=NULL;}
        String(char *str);
        friend bool operator>(String *string1,String &string2);
        friend bool operator<(String *string1,String &string2);
        friend bool operator==(String *string1,String &string2);
        void display();
//为什么加上这个就不可以了? private:
        char *p;
        };
        
String::String(char *str)
{p=str;}

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

bool operator>(String &string1,String &string2)
{if(strcmp(string1.p,string2.p)>0)
    return true;
else
    return false;
} 

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

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

void compare(String &string1,String &string2)
{if(operator>(string1,string2)==1)
{string1.display();
cout<<">";
string2.display();
}
else
    if(operator<(string1,string2)==1)
    {string1.display();
    cout<<"<";
    string2.display();
    }
 else
 if(operator==(string1,string2)==1)
 {string1.display();
 cout<<"=";
 string2.display();
 }
 cout<<endl;
}

int main()
{String string1("Hello"),string2("Book"),string3("Computer"),string4("Hello");
compare(string1,string2);
compare(string2,string3);
compare(string1,string4);
return 0;
}

⌨️ 快捷键说明

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