home *** CD-ROM | disk | FTP | other *** search
/ C++ for Dummies (3rd Edition) / C_FD.iso / CHAP17 / CHAP17_2.CPP < prev   
C/C++ Source or Header  |  1996-09-15  |  1KB  |  53 lines

  1. // Chap17_2.cpp
  2. #include <string.h>
  3. class Advisor
  4. {
  5. };
  6.  
  7. class Student
  8. {
  9.   public:
  10.    Student(char *pName = "no name") 
  11.    {
  12.      strncpy(name, pName, sizeof(name));
  13.         average = semesterHours = 0;
  14.    }
  15.    void addCourse(int hours, float grade)
  16.    {
  17.       average = (semesterHours * average + grade);
  18.       semesterHours += hours;
  19.       average = average / semesterHours;
  20.    }
  21.    int  hours( ) { return semesterHours;}
  22.    float gpa( )  { return average;}
  23.  
  24.   protected:
  25.    char  name[40];
  26.    int   semesterHours;
  27.    float average;
  28. };
  29.  
  30. class GraduateStudent : public Student
  31. {
  32.   public:
  33.    GraduateStudent(char *pName,
  34.                    Advisor &adv) : Student(pName),
  35.                                    advisor(adv)
  36.    {
  37.       qualifierGrade = 0;
  38.    }
  39.  
  40.    qualifier( ) { return qualifierGrade;};
  41.  
  42.   protected:
  43.    Advisor advisor;
  44.    int qualifierGrade;
  45. };
  46.  
  47. int main( )
  48. {
  49.    Advisor advisor;
  50.    GraduateStudent gs("Yen Kay Doodle", advisor);
  51.    return 0;
  52. }
  53.