C ++重载`-`运算符(作为`* -1`)

时间:2013-04-10 18:16:12

标签: c++ operators

说我有int,就像这样:

int foo = 5;

我可以这样做:

int bar = -foo;     // -5

我希望能够对我的班级做同样的事情,那么如何重载用作-的{​​{1}}运算符?我是否必须重载* -1运算符才能这样做?

1 个答案:

答案 0 :(得分:4)

class MyClass
{
    friend MyClass operator-(const MyClass& x);
};

class MyClass
{
    MyClass operator-() const;
};

接受你的选择(虽然我会选择第一个)。