C++快速入门---重载《操作符(19)

C++快速入门---重载《操作符(19)

 

重载的含义是可以用相同的名字去实现不同的功能:输入参数方面有所差异就不会有问题。

下面是一个operator << ()函数的原型:

std::ostream& operator<<(std::ostream &os, Rational f);

第一个输入参数os是将要向它写数据的那个流,它是以“引用传递”方式传递的。

第二个输入参数是打算写到那个流里的数据值,不同的operatpr<<()重载函数就是因为这个输入参数才相互区别的。

 

代码如下:

在调用main函数时,“<<f1” 是调用本代码的 “<<重载函数”,而 “<<"+"” 它是调用本来的 "<<重载函数"。

#include <iostream>
#include <string>
#include <stdlib.h>
class Rational
{
public:
	Rational(int num, int denom);	//num = 分子,denom = 分母
	
	Rational operator+(Rational rhs);	//rhs == right hand side
	Rational operator-(Rational rhs);
	Rational operator*(Rational rhs);
	Rational operator/(Rational rhs);
	
private:
	void normalize();	//负责对分数的简化处理
	
	int numerator;		//分子
	int denominator;	//分母 

	//友元函数,朋友的类 
	friend std::ostre
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值