void print_account(account* p) { //pointer
  p->statement();
}
void print_account(account &r) { //reference
  r.statement();
}
int main() {
  student smith("Joe Smith", 5000, "UT");
  student* ps = &smith;   ps->statement();
  checking* pc = &smith;   pc->statement();
  account* pa = &smith;     pa->statement();
  print_account(&smith); //pass by pointer
  print_account(smith);  //pass by reference
}