fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. class Date
  8. {
  9. public:
  10. int day;
  11. int month;
  12. int year;
  13. Date(){day=0;month=0;year=0;}
  14. Date(int d,int m,int y){day=d;month=m;year=y;}
  15. void Print(){std::cout<<day<<"-"<<month<<"-"<<year<< std::endl;}
  16. };
  17.  
  18. class Student
  19. {
  20. public:
  21. int id;
  22. std::string name;
  23. double gpa;
  24. Date dob;
  25. Student(){id=0;name="";gpa=0;}
  26. Student(int i, std::string n, double g, Date d){ id = i; name = n; gpa = g; dob = d; }
  27. void Print(){ std::cout << "id=" << id << ", name=" << name << ", gpa=" << gpa << ", DOB="; dob.Print(); }
  28. };
  29.  
  30. class Department
  31. {
  32. public:
  33. std::string name;
  34. std::string chair;
  35. std::vector<Student> students;
  36. Department(std::string n = "", std::string c="" ) : name(n), chair(c) {}
  37. void Print(){ std::cout << "Department=" << name << ", # of students=" << students.size()<< ", Chair=" << chair << std::endl; }
  38. // void PrintStudents(){for(int i=0; i<numOfStudents; i++) students[i].Print();}
  39. void AddStudent(Student s)
  40. { students.push_back(s); }
  41. void DeleteStudent(int id){}
  42. };
  43.  
  44. class College
  45. {
  46. public:
  47. std::string name;
  48. int numOfStudents;
  49. std::string dean;
  50. std::vector<Department> departments;
  51. int numOfDepartments;
  52. College(){name="";numOfStudents=0;dean="";numOfDepartments=0;}
  53. College(std::string n, std::string d){ name = n; dean = d; numOfStudents = 0; numOfDepartments = 0; }
  54. void Print(){ std::cout << "College=" << name << ", # of students=" << numOfStudents << ", Dean=" << dean << std::endl; }
  55. void PrintDepartments(){for(int i=0; i<numOfDepartments; i++) departments[i].Print();}
  56. void AddDepartment(Department s){departments.push_back(s);}
  57. void DeleteDepartment(string name){}
  58. };
  59.  
  60. class University
  61. {
  62. public:
  63. string name;
  64. int numOfStudents;
  65. string rector;
  66. std::vector<College> colleges;
  67. int numOfColleges;
  68. University(){name="";numOfStudents=0;rector="";numOfColleges=0;}
  69. University(string n, string r){name=n;rector=r;numOfStudents=0;numOfColleges=0;}
  70. void Print(){cout<<"University="<<name<<", # of students="<<numOfStudents<<", Rector="<<rector<<endl;}
  71. void PrintColleges(){for(int i=0; i<numOfColleges; i++) colleges[i].Print();}
  72. void AddCollege(College c){colleges[numOfColleges]=c;numOfColleges++;numOfStudents+=c.numOfStudents;}
  73. void DeleteCollege(string name){}
  74. };
  75.  
  76. int main()
  77. {
  78. cout << sizeof(University) << "\n";
  79. cout << sizeof(College) << "\n";
  80. cout << sizeof(Department);
  81. }
  82.  
Success #stdin #stdout 0s 3140KB
stdin
Standard input is empty
stdout
28
28
20