C++二元运算符重载

C++二元运算符重载

对实例进行改写,以非成员函数的方式重载运算符 +:

#include

using namespace std;

class Box

{

double length; // 长度

double breadth; // 宽度

double height; // 高度

public:

double getVolume(void)

{

return length * breadth * height;

}

void setLength( double len )

{

length = len;

}

void setBreadth( double bre )

{

breadth = bre;

}

void setHeight( double hei )

{

height = hei;

}

/**

* 改写部分 2018.09.05

* 重载 + 运算符,用于把两个 Box 对象相加

* 因为其是全局函数,对应的参数个数为2。

* 当重载的运算符函数是全局函数时,需要在类中将该函数声明为友员。

*/

friend Box operator+(const Box& a, const Box& b);

};

Box operator+(const Box& a, const Box& b)

{

Box box;

box.length = a.length + b.length;

box.breadth = a.breadth + b.breadth;

box.height = a.height + b.height;

// cout << box.length << "--" << box.breadth << "--" << box.height << endl;

return box;

}

// 程序的主函数

int main( )

{

Box Box1; // 声明 Box1,类型为 Box

Box Box2; // 声明 Box2,类型为 Box

Box Box3; // 声明 Box3,类型为 Box

double volume = 0.0; // 把体积存储在该变量中

// Box1 详述

Box1.setLength(6.0);

Box1.setBreadth(7.0);

Box1.setHeight(5.0);

// Box2 详述

Box2.setLength(12.0);

Box2.setBreadth(13.0);

Box2.setHeight(10.0);

// Box1 的体积

volume = Box1.getVolume();

cout << "Volume of Box1 : " << volume <

// Box2 的体积

volume = Box2.getVolume();

cout << "Volume of Box2 : " << volume <

// 把两个对象相加,得到 Box3

Box3 = Box1 + Box2;

// Box3 的体积

volume = Box3.getVolume();

cout << "Volume of Box3 : " << volume <

return 0;

}Lonion.Wei Lonion.Wei

295***9116@qq.com

7年前 (2018-09-05)

相关推荐

宜蘭斑比山丘
bt365体育网址

宜蘭斑比山丘

📅 10-04 👁️ 793
梦幻开服多久才可以转入——玩家必知攻略
bt365体育网址

梦幻开服多久才可以转入——玩家必知攻略

📅 10-04 👁️ 5253
家常煮粉干的做法与步骤
beat365在线体育打不开

家常煮粉干的做法与步骤

📅 10-07 👁️ 1756
微信如何发布图片及文字说说
bt365体育网址

微信如何发布图片及文字说说

📅 01-06 👁️ 7593
天谕神格系统讲解及使用方法介绍
bt365体育网址

天谕神格系统讲解及使用方法介绍

📅 07-02 👁️ 2972
江苏历史近实时河流流量动态监测MSGRs数据
365app手机版官方

江苏历史近实时河流流量动态监测MSGRs数据

📅 10-03 👁️ 5205
ampleur阿芙乐尔面霜怎么样成分安全吗好用吗,小红罐使用体验
国际足联发布世界杯每轮队长袖标口号:足球团结世界等
如何让手机黑屏录像
bt365体育网址

如何让手机黑屏录像

📅 09-07 👁️ 8984