【问题标题】:How can I re-define + operator? [duplicate]如何重新定义 + 运算符? [复制]
【发布时间】:2015-08-27 20:03:43
【问题描述】:

我想重新定义

+

操作员。

所以,我做了一个简单的代码,如下面的代码。

int operator+(const int &a, const int &b)
{
    int temp = a-b;
    return temp;
}

int main()
{
    int a = 10;
    int b = 5;
    cout << a+b << endl;
}

我可以用 Class 类型重新定义...但我不想使用 Class。
我该如何解决这个问题?

【问题讨论】:

标签: c++ operator-overloading


【解决方案1】:

您不能为像int 这样的普通旧数据类型定义运算符。

可以构建自己的int 类(例如my_int)并包含#define int my_int 行。但这将是非常有害的,并且不适用于编译时评估的文字表达式。

【讨论】:

    【解决方案2】:

    您不能为 int(或任何其他内置类型)重新定义运算符。 如果你说,你想做什么,我们可能会找到一些解决方案。

    【讨论】:

    • 我想重新定义 ^ 运算符。如果用户输入“2^4”,系统将给用户“16”。但是,发生了同样的错误......
    • @InhwanRyu 你为什么要这样做?你想用它解决什么问题?你仍然不能重新定义内置类型的运算符
    • 它需要^运算符重载来输入和求解一个二次方程。
    • @InhwanRyu 您想将其用作 pow 操作员吗?为什么不使用pow 函数呢?
    • 我知道 pow 函数......我想我必须使用子字符串函数。然后使用 pow 函数...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 2011-01-19
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多