C ++运算符' +'内置类型和类的重载都在操作数上

时间:2018-02-14 17:14:45

标签: c++ operator-overloading operands

#include "iostream"

class MyClass
{
public:
    float x, y, z;
    MyClass()
    {
        x = y = z = 0;
    }

    MyClass operator +(float a)
    {
        MyClass r = MyClass();
        r.x = this->x + a;
        r.y = this->y + a;
        r.z = this->z + a;
        return r;
    }
};

int Main()
{
    float xf = 0;
    MyClass vec = MyClass();
    vec.x = 10;
    MyClass other = vec + xf;
}

所以一切都适用于上面的代码。但我想编写如下所示的代码:

MyClass other = xf + vec;

怎么做?

基本上,我想添加内置类型,让我们说“浮动”。我的班级类型。现在我可以做到这一点,如第一个快照中所示。但是我不希望方向行为和#34; MyClass"类型数据必须位于' +'的左侧。操作员总是。

我想要" MyClass"在' +'右侧输入数据内置类型(' float' here)位于左侧。

可行?

0 个答案:

没有答案