【发布时间】:2015-06-05 07:25:02
【问题描述】:
我希望能够在 MATLAB 中为我的班级重载索引运算符 () 和 {}。特别是,我希望能够定义类方法...
% ...
classdef MyClass < handle
% ... other class definition stuff...
function returnVal = operator{}(indexRange)
%....implementation here....
end
function returnVal = operator()(indexRange)
%....implementation here....
end
end
这样我就可以创建对象并执行...
x = MyClass();
returnedVals = x(:);
returnedCells = [x{:}];
% etc.
这在 MATLAB 中可行吗?我知道这在 C++ 和 python 中很容易(通过分别重载 operator [] 和 __get__ 运算符)。不过,Mathworks 网站本身并不太清楚如何做到这一点。
【问题讨论】:
标签: matlab operator-overloading operator-keyword