当前位置:  开发笔记 > 编程语言 > 正文

为自己的类/对象重载Addition(+)运算符

如何解决《为自己的类/对象重载Addition(+)运算符》经验,为你挑选了1个好方法。

我创建了一个类xyz,它产生一个只包含整数的矩阵.如果我尝试添加该类的两个实例,我收到错误消息:

"未定义的运算符'+'表示'xyz'类型的输入参数."

我应该做些什么来使内置+运算符与我的类的实例兼容?



1> Suever..:

您必须使用该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

对于其他常用的运营商,有一个详细的列表在这里

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有