How do I call the built-in disp function after I have overloaded it in a different class?

5 Ansichten (letzte 30 Tage)
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

Antworten (2)

Steven Lord
Steven Lord am 30 Mär. 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)])

Hakon Haugnes
Hakon Haugnes am 14 Jan. 2023
Yes, simply run this
builtin('disp',h)
where h is your class object

Kategorien

Mehr zu Author Block Masks finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by