34.4.2 运算符重载

下表显示,对于每个内置数值运算,在为用户类提供重载方法时要使用的相应函数名。

操作 方法 描述
a + b plus (a, b) 二元加法
a - b minus (a, b) 二元减法
+a uplus (a) 一元加法
-a uminus (a) 一元减法
a .* b times (a, b) 逐元素乘法
a * b mtimes (a, b) 矩阵乘法
a ./ b rdivide (a, b) 逐元素右除
a / b mrdivide (a, b) 矩阵右除
a .\ b ldivide (a, b) 逐元素左除
a \ b mldivide (a, b) 矩阵左除
a .^ b power (a, b) 逐元素幂
a ^ b mpower (a, b) 矩阵幂
a < b lt (a, b) 小于
a <= b le (a, b) 小于或等于
a > b gt (a, b) 大于
a >= b ge (a, b) 大于或等于
a == b eq (a, b) 等于
a != b ne (a, b) 不等于
a & b and (a, b) 逻辑与
a | b or (a, b) 逻辑或
!a not (a) 逻辑非
a' ctranspose (a) 复共轭转置
a.' transpose (a) 转置
a:b colon (a, b) 两元素范围
a:b:c colon (a, b, c) 三元素范围
[a, b] horzcat (a, b) 水平拼接
[a; b] vertcat (a, b) 垂直拼接
a(s_1,…,s_n) subsref (a, s) 下标引用
a(s_1,…,s_n) = b subsasgn (a, s, b) 下标赋值
b(a) subsindex (a) 将对象转换为索引
disp disp (a) 对象显示

表34.1: 可用的重载运算符及其对应的类方法

多项式类的一个mtimes方法可能看起来像

function p = mtimes (a, b)
  p = polynomial (conv (double (a), double (b)));
endfunction

版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2