fork download
  1. // Attached: HW_8-1b
  2. // ===========================================================
  3. // File: HW_8-1b_Combined.cpp
  4. // ===========================================================
  5. // Programmer: Elaine Torrez
  6. // Class: CMPR 121
  7. // ===========================================================
  8.  
  9. #include <iostream>
  10. #include <string>
  11. using namespace std;
  12.  
  13. class Student
  14. {
  15. protected:
  16. int id;
  17. int units;
  18. string name;
  19.  
  20. public:
  21. Student()
  22. {
  23. id = 0;
  24. units = 0;
  25. name = "";
  26. }
  27.  
  28. Student(int studentId, string studentName, int studentUnits)
  29. {
  30. id = studentId;
  31. name = studentName;
  32. units = studentUnits;
  33. }
  34.  
  35. virtual ~Student()
  36. {
  37. }
  38.  
  39. void setID(int studentId)
  40. {
  41. id = studentId;
  42. }
  43.  
  44. int getID()
  45. {
  46. return id;
  47. }
  48.  
  49. void setUnits(int studentUnits)
  50. {
  51. units = studentUnits;
  52. }
  53.  
  54. int getUnits()
  55. {
  56. return units;
  57. }
  58.  
  59. virtual void displayRecord() = 0;
  60. };
  61.  
  62. class UnderGrad : public Student
  63. {
  64. private:
  65. string level;
  66.  
  67. public:
  68. UnderGrad(int studentId, string studentName, int studentUnits, string studentLevel)
  69. : Student(studentId, studentName, studentUnits)
  70. {
  71. level = studentLevel;
  72. }
  73.  
  74. ~UnderGrad()
  75. {
  76. }
  77.  
  78. void displayRecord()
  79. {
  80. cout << "ID: " << id << endl;
  81. cout << "Name: " << name << endl;
  82. cout << "Units: " << units << endl;
  83. cout << "Class: " << level << endl;
  84. }
  85. };
  86.  
  87. class Grad : public Student
  88. {
  89. private:
  90. string degree;
  91.  
  92. public:
  93. Grad(int studentId, string studentName, int studentUnits, string studentDegree)
  94. : Student(studentId, studentName, studentUnits)
  95. {
  96. degree = studentDegree;
  97. }
  98.  
  99. ~Grad()
  100. {
  101. }
  102.  
  103. void displayRecord()
  104. {
  105. cout << "ID: " << id << endl;
  106. cout << "Name: " << name << endl;
  107. cout << "Units: " << units << endl;
  108. cout << "Degree: " << degree << endl;
  109. }
  110. };
  111.  
  112. int main()
  113. {
  114. UnderGrad underGrad(100, "Tom Lee", 9, "Freshman");
  115. Grad grad(101, "Jim Jones", 12, "PHD");
  116.  
  117. underGrad.displayRecord();
  118. cout << endl;
  119.  
  120. grad.displayRecord();
  121. cout << endl;
  122.  
  123. grad.setUnits(15);
  124. grad.displayRecord();
  125.  
  126. return 0;
  127. }
Success #stdin #stdout 0.01s 5324KB
stdin
Standard input is empty
stdout
ID:      100
Name:    Tom Lee
Units:   9
Class:   Freshman

ID:      101
Name:    Jim Jones
Units:   12
Degree:  PHD

ID:      101
Name:    Jim Jones
Units:   15
Degree:  PHD