How do I call the built-in disp function after I have overloaded it in a different class?
    4 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
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 Kommentare
Antworten (2)
  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)])
0 Kommentare
  Hakon Haugnes
 am 14 Jan. 2023
        Yes, simply run this
builtin('disp',h)
where h is your class object
0 Kommentare
Siehe auch
Kategorien
				Mehr zu Entering Commands finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


