《运算符的重载2》

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:   关系运算符的重载                         
* 作    者:       刘江波                      
* 完成日期:    2012     年    7   月     2   日
* 版 本 号:     v.722    

* 对任务及求解方法的描述部分
* 问题描述: 
* 程序头部的注释结束
*/

 

#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();  //输出p所指向的字符串

private:

	char *p;  //字符型指针,用于指向字符串

};

String::String(char *str)

{

	p = str;   //使P指向实参字符串

}  

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);

	system("PAUSE");

	return 0;

}


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值