How do I call the built-in disp function after I have overloaded it in a different class?
조회 수: 5 (최근 30일)
이전 댓글 표시
Hi, I have two classes PermutationKey and Attack, within both I am overloading the disp function, yet in writing the disp function for Attack and calling
disp(['Key: ' atk.key]);
disp(['Current decrypted ciphertext: ' start]);
it chooses to call the disp function from the class PermutationKey
function disp(key)
disp(char(key.perm + 64));
end
rather than the built-in disp.
Anyone know a remedy for this situation as I simply wish to use the built-in disp function to print to the console the text provided? Thanks
댓글 수: 0
답변 (2개)
Steven Lord
2020년 3월 30일
When you concatenate a char vector and an instance of your PermutationKey class, does that return an instance of the PermutationKey class? What does this return?
class(['Key: ' atk.key])
Maybe explicitly convert the key to a character array?
disp(['Key: ' char(atk.key)])
댓글 수: 0
Hakon Haugnes
2023년 1월 14일
Yes, simply run this
builtin('disp',h)
where h is your class object
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Author Block Masks에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!