2

我正在使用OOP现象在Matlab中工作,但是我想要一种友元函数的现象,例如,将一个函数的输出传递给同一类中的另一个函数,以供其使用。这是我的课,其中,需要一个输出,我怎样才能让这两个函数成为朋友。有没有像其他语言一样的设施?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 回答
0

一个class-member函数到另一个函数的输出是简单地调用该函数并在该函数中收集输出,代码:

function myFunc2(obj)
      H=myFunc1(obj);
      obj.T= H;
end
于 2014-05-26T18:53:46.033 回答