Exemple #1
0
//-------------------------------------
void fn(Student& x){
  switch(x.type){
    case Student::STUDENT:
      x.calcTuition(); break;
    case Student::GRADUATESTUDENT:{
      GraduateStudent& gx = static_cast<GraduateStudent&>(x);
      gx.calcTuition(); break;}
    case Student::DOCTOR:{
      Doctor& dx = static_cast<Doctor&>(x);
      dx.calcTuition(); break;}
  }
}//------------------------------------