CS202   4- ‹#›
Upcasting
nvoid print_account(account* p) { //pointer
n  p->statement();
n}
n
nvoid print_account(account &r) { //reference
n  r.statement();
n}
n
nint main() {
n  student smith("Joe Smith", 5000, "UT");
n  student* ps = &smith; ps->statement();
n 
n  checking* pc = &smith; pc->statement();
n 
n  account* pa = &smith; pa->statement();
n
n  print_account(&smith); //pass by pointer
n  print_account(smith);  //pass by reference
n}
n