lessover.cpp

来自「c语言教程源码」· C++ 代码 · 共 52 行

CPP
52
字号
//这个程序在本书所带软盘中,文件名为LESSOVER.CPP
//这个程序利用相加运算符(+)和小于逻辑运算符(<)演示简单类型运算符重载。

#include <iostream.h>

enum boolean { false, true };

class Lessover {
	private:
		int num;
	public:
		Lessover(int n)
		{
			num = n;
		}
		int operator + (Lessover);		//相加运算符重载,参数为对象
		boolean operator < (Lessover);  //逻辑运算符重载,参数为对象
};

int Lessover :: operator + (Lessover obj)
{
	return num + obj.num;		//obj.num是作为参数传送过来对象的成员数据
}								//num是调用这个重载子程序的对象的成员数据

boolean Lessover :: operator < (Lessover obj)
{ 
	return (num < obj.num) ? true : false; 
}

void main()
{
	Lessover obj0(0);
	Lessover obj1(10), obj2(20);

	int sum = obj1 + obj2;		//不使用重载时为int sum = obj1.add(obj2);
	cout << "sum = " << sum << endl;

	if( obj1 < obj0 )			//不使用重载时为if (obj1.compare_less(obj2))
		cout << "obj1 < obj0" << endl;
	else
		cout << "obj1 >= obj0" << endl;
	if(obj1 < obj2)
		cout <<"obj1 < obj2" << endl;
	else
		cout <<"obj1 is greater that obj2" << endl;
}

/* 下面是这个程序的运行结果:
sum = 30
obj1 >= obj0
obj1 < obj2
*/

⌨️ 快捷键说明

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