Create Func pointer vs Virtual Function