2

私はOOP現象を使用してMatlabで作業していますが、ある関数の出力を同じクラスの他の関数に渡すなど、その使用のためだけに友人関数の現象が必要です。これが私のクラスで、 の出力がによって必要とされます。どうすればこれら 2 つの関数を友達にできますか? 他の言語のような機能はありますか?C/C++myClassmyFunc1myFunc2

私のコード:

classdef myClass
    properties (Access=private)
        M;
      T
    end
    methods
        function obj = myClass(M,T)
            obj.M= M;
            obj.T=T;

        end
        function H=myFunc1(obj)
            obj.M{obj.jj}=jj+ii;
           H=obj.M{obj.jj};
        end

        function myFunc2(obj)
            obj.T= H;
        end
    end
end
4

2 に答える 2

0

myFunc1あなたが何を望んでいるのか正確にはわかりませんが、内部で実行したいと思いますmyFunc2か? この場合は、myFunc1内部myFunc2で次のように実行するだけですobj.myFunc1();。例 (これは一般的な例です):

classdef myClass
    properties (Access=private)
        M;
        T;
    end
    methods
        function obj = myClass()
        end
        function H=myFunc1(obj)
            H = 3;
        end

        function myFunc2(obj)
            disp(obj.myFunc1())
        end
    end
end

クラスの残りの部分から非表示にしたい場合はmyFunc2、ネストされた関数として定義できます。次に例を示します。

classdef myClass
    properties (Access=private)
        M;
        T;
    end
    methods
        function obj = myClass()
        end

        function myFunc2(obj)

            function H=myFunc1()
                H = 3;
            end

            disp(myFunc1())
        end
    end
end
于 2014-05-26T00:46:13.290 に答える