How do I call the built-in disp function after I have overloaded it in a different class?
6 views (last 30 days)
Show older comments
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 Comments
Answers (2)
Steven Lord
on 30 Mar 2020
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 Comments
Hakon Haugnes
on 14 Jan 2023
Yes, simply run this
builtin('disp',h)
where h is your class object
0 Comments
See Also
Categories
Find more on Construct and Work with Object Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!