In reply to verif_learner:
" I guess this is to do with calling a function using object variable versus regular calls."
Yes verif_learner, I tried replacing func1 and func2 , func1 being called from func2. Calling function - now func2, if ‘it is virtual or not’ and ‘assigning P1=P2’ decide the functionality.