gpt4 book ai didi

c++ - 如何重载一元/运算符?

转载 作者:行者123 更新时间:2023-11-30 01:49:13 26 4
gpt4 key购买 nike

我正在尝试重载一元/(除法) 运算符。但它会导致错误。但是,当我尝试重载 +、-、* 运算符时,它工作正常。问题仅针对/运算符。我的代码如下:

#include<bits/stdc++.h>
using namespace std;

class Box
{

int x,y;
public:
void GetData(int a,int b)
{
x=a;y=b;
}
void Display()
{
cout<<x<<" "<<y;
}
void operator /();
};

void Box::operator /()
{

x/=2;
y/=2;
}

int main()
{
Box b;
b.GetData(10,20);
// I am getting error in the following line.
/b;
b.Display();
return 0;
}

最佳答案

不存在一元 / 运算符。 / 运算符有两个操作数。

请注意,仅仅因为两个运算符使用相同的符号,并不意味着它们代表相同的操作。二进制(如 2 的元数)- 是减法,而一元 - 是否定。二进制 * 是乘法,而一元 * 是间接的。因此,虽然二进制 / 是除法,但一元 / 没有意义。

关于c++ - 如何重载一元/运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29438373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com