【问题标题】:overloading composite operator in c++ (.*) [duplicate]在c ++(。*)中重载复合运算符[重复]
【发布时间】:2020-04-29 08:52:46
【问题描述】:

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

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

Matrix A(5,3), B(5, 3), C;
C = A .* B;

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

【问题讨论】:

标签: c++ c++11 operator-overloading


【解决方案1】:

来自this operator overloading reference

限制

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

简而言之,不可能重载像.* 这样的“点”成员访问运算符。

【讨论】:

    【解决方案2】:

    Here 可以看到“指向对象成员的指针”.* 运算符在 c++ 中不可重载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-23
      • 2011-10-27
      • 2012-12-22
      • 2016-09-26
      • 2012-04-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多