在 C++ (.*) 中重载复合运算符

rac*_*iri 0 c++ operator-overloading c++11

我已经Matrix为矩阵操作实现了一个类实现,到目前为止我可以重载普通(单个)运算符,例如+, *, ...

我想通过重载运算符 (.*) 来进行矩阵初等乘法,例如我可以写

Matrix A(5,3), B(5, 3), C;
C = A .* B;
Run Code Online (Sandbox Code Playgroud)

在这种情况下,C 将保存来自 A 和 B 的逐个元素相乘的值(A 和 B 具有相同的维度)

Som*_*ude 5

从此运算符重载参考

限制

  • 运算符::(范围解析)、.(成员访问)、.*(通过成员指针访问成员)和?:(三元条件)不能重载。

简而言之,不可能重载像.*.