[英]Overloading Addition (+) operator for own classes/objects
我创建了一个类xyz
,它产生一个只包含整数的矩阵。 如果我尝试添加该类的两个实例,我收到错误消息:
“未定义的运算符'+'表示'xyz'类型的输入参数。”
我应该做些什么来使内置+
运算符与我的类的实例兼容?
您必须使用plus
方法来覆盖+
的行为
classdef MyObject
properties
value
end
methods
function this = MyObject(v)
this.value = v;
end
function result = plus(this, that)
% Create a new object by adding the value property of the two objects
result = MyObject(this.value + that.value);
end
end
end
然后使用它像:
one = MyObject(1)
% MyObject with properties:
%
% value: 1
two = MyObject(2)
% MyObject with properties:
%
% value: 2
three = one + two
% MyObject with properties:
%
% value: 3
对于其他常用的运营商,有一个详细的列表在这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.