VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 215|回复: 3

[已解决]运算符重载的问题

[复制链接]
92_avatar_middle
最佳答案
0 
在线会员 发表于 2021-12-2 13:13:07 | 显示全部楼层 |阅读模式
本帖最后由 1603611958 于 2021-12-2 15:34 编辑

#include<iostream>
using namespace std;

class Box
{
public:

    Box() {};
   
    //有参构造函数
    Box(double leng,double brea,double heig) {
        this->length = leng;
        this->breadth = brea;
        this->height = heig;

    }
     //获取体积
    double getVolume(void)
    {
        return length * breadth * height;
    }
   
    // 重载 + 运算符,用于把两个 Box 对象相加
    Box operator+(const Box& b)
    {
        Box box;
        box.length = this->length + b.length;
        box.breadth = this->breadth + b.breadth;
        box.height = this->height + b.height;
        return box;
    }

private:
    double length;      // 长度
    double breadth;     // 宽度
    double height;      // 高度
};


int main() {

    Box Box1(6.0, 7.0, 5.0);                // 声明 Box1,类型为 Box
    Box Box2(12.0,13.0,10.0);               // 声明 Box2,类型为 Box
    Box Box3;                               // 声明 Box3,类型为 Box
   
    cout << "Volume of Box1 : " << Box1.getVolume() << endl;

    cout << "Volume of Box2 : " << Box2.getVolume() << endl;

    // 把两个对象相加,得到 Box3
    Box3 = Box1 + Box2;

    cout << "Volume of Box3 : " << Box3.getVolume() << endl;
return 0;
       
}

把两个对象相加,怎么只传了一个对象进去?为什么不是传两个对象?
我想再增加一个对象相加,把改成3个对象相加系统为什么还不允许?
哪位大神有空和我说说这个怎么理解;
最佳答案
17_avatar_small
2021-12-2 14:14:21
成员版本所需的参数少一个,因为其中一个操作数是被隐式地传递的调用对象。this对象。




上一篇:再次请教老师?
下一篇:求助 C语言问题。 在C语言 123.456×3≠370.368
17_avatar_middle
最佳答案
10 
在线会员 发表于 2021-12-2 17:32:11 | 显示全部楼层
本帖最后由 yoobaby 于 2021-12-2 17:35 编辑
1603611958 发表于 2021-12-2 15:33
感谢你的回复;我想再增加一个对象相加,把改成3个对象相加系统为什么还不允许?


一个加号 ,你能有两个以上的操作数吗。你这会是在重载+号,,你要三个加只能:(A+B)+C;注意:这有两个加号。你自己把自己搞晕了
17_avatar_middle
最佳答案
10 
在线会员 发表于 2021-12-2 14:14:21 | 显示全部楼层    本楼为最佳答案   
bestAnswer
成员版本所需的参数少一个,因为其中一个操作数是被隐式地传递的调用对象。this对象。
92_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2021-12-2 15:33:27 | 显示全部楼层
yoobaby 发表于 2021-12-2 14:14
成员版本所需的参数少一个,因为其中一个操作数是被隐式地传递的调用对象。this对象。

感谢你的回复;我想再增加一个对象相加,把改成3个对象相加系统为什么还不允许?
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2022-1-21 10:36

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表