This is the code I got from the internet... and how virtual keyword is working? i think this virtual keyword has something to do with this behaviour but I don\'t understand