运算符重载

本小妞迷上赌 提交于 2019-11-27 00:11:53

#include <iostream>
#include <string>
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;
}

转载于:https://www.cnblogs.com/GavinDai/archive/2011/11/15/2249893.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!