2017-01-16 12 views
3

クラスxyzを作成した結果、整数のみの行列になりました。オーバーロード自分のクラス/オブジェクトの加算(+)演算子

"'xyz'型の入力引数には未定義の演算子 '+'が含まれています。このクラスのインスタンスを2つ追加しようとすると、

組み込みの+演算子をクラスのインスタンスと互換性を持たせるにはどうすればよいですか?

答えて

6

はあなたが好きその後plus method to override the behavior of +

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 

を、広範なリストhere

あり
関連する問題