// p227.cpp - Pointer conversions, Section 7.2.4 class FString { }; class Student { public: //... private: long id; }; class GraduateStudent :public Student { public: //... private: FString thesisTitle; }; void CalcTuition( Student & S ) { // sp is a Student or a derived object } void RecordThesis( GraduateStudent * p ) { //... } int main() { Student * sp; GraduateStudent * gp; //... sp = gp; //... RecordThesis( (GraduateStudent *) sp ); return 0; }