home *** CD-ROM | disk | FTP | other *** search
/ C++ for Dummies (3rd Edition) / C_FD.iso / CHAP17 / CHAP17_1.CPP next >
C/C++ Source or Header  |  1996-09-02  |  871b  |  47 lines

  1. // Chap17_1.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.    qualifier( ) { return qualifierGrade;};
  34.   protected:
  35.    Advisor advisor;
  36.    int qualifierGrade;
  37. };
  38.  
  39. int main( )
  40. {
  41.    Student llu("Lo Lee Undergrad");
  42.    GraduateStudent gs;
  43.    llu.addCourse(3, 2.5);
  44.    gs.addCourse(3, 3.0);
  45.    return 0;
  46. }
  47.