c++ - "basic"类的运算符重载

标签 c++ matrix overloading operator-keyword

你好,我想用一个矩阵乘以左边的一个数字,比如:N=a*M 其中 a 是一个数字。

如果我想在右边乘法,我会简单地在我的矩阵类中重载运算符 *。 但是这种情况下我该怎么办呢?即使它是“默认”类,我也可以重载 float 的运算符 * 吗? (我什至不确定这是一个类)

最佳答案

您必须根据另一个来定义函数。例如:

Matrix operator *(float x, Matrix const& m)
{
    return m * x;
}

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

相关文章:

python - 使用理解和范围创建嵌套

c++ - 如果 compile-time-constant 参数错误,则生成编译时错误

c++ - 使用 ref-qualifiers 的重载决议

c++ - 如何从后缀表达式制作表达式树?

c++ - std::is_invocable 在模板类型上的意外结果

c++ - 在 C++ 中,我可以在定义自己的复制构造函数后跳过定义赋值运算符吗?

c++ - Visual Studio 2010 - 在不同的构建配置之间保留项目属性?

R 在矩阵上使用 sapply 时保留列名和行名

java - 使用 null 参数进行意外重载方法编译器选择

python - numpy 矩阵排名不正确的结果