【例6.1】用成员函数重载运算符一

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【例6.1】用成员函数重载运算符一

#include

class RMB{

public:

RMB(unsigned int d, unsigned int c);

RMB operator+(RMB&); // 声明运算符函数,重载+,只有一个参数 RMB& operator++(); // 声明运算符函数,重载++,无参数

void display(){ cout << (yuan + jf / 100.0) << endl; } protected:

unsigned int yuan;

unsigned int jf;

};

RMB::RMB(unsigned int d, unsigned int c)

{

yuan = d;

jf = c;

while(jf >=100){

yuan ++;

jf -= 100;

}

}

RMB RMB::operator +(RMB& s) // 定义运算符函数

{

unsigned int c = jf + s.jf;

unsigned int d = yuan + s.yuan;

RMB result(d,c); // 创建RMB对象result return result;

}

RMB& RMB::operator++() // 定义运算符函数

{

jf ++;

if(jf >= 100){

jf -= 100;

yuan++;

}

return *this; // 返回当前对象

}

void main()

{

RMB d1(1, 60);

RMB d2(2, 50);

RMB d3(0, 0);

d3 = d1 + d2; // 调用重载运算符函数operator +,使RMB类的两个对象可以相加 ++d3; // 调用重载运算符函数operator ++,使RMB类的对象d3可以自增 d3.display();

}

程序的运行结果为:

4.11

相关文档
最新文档