首页 > 解决方案 > 如何在 C++ 中将 rhs 值添加到类(运算符重载)

问题描述

我有一个矩阵类,我想重载*C++ 中的运算符以将标量乘以矩阵..我能够实现..

matrix1 * matrix2
matrix1 * 5

但我也想5 * matrix1工作。

如何实现这一点..我想搜索什么,没有什么相关的:|

标签: c++overloadingoperator-keyword

解决方案


像这样,使用颠倒的参数调用您现有matrix * scalar的函数:

inline matrix operator*(int scalar, const matrix& mat) {
    return mat * scalar;
}

以上是一个自由函数,可以在任何命名空间matrix中声明,而不是在类中。


推荐阅读