#include "College.hh" #include "High_School.hh" #include "University.hh" #include template auto same_university(std::string, const L &, const R &) -> void; auto main() -> int { University university; university.set_univ_pin(1337); College college("College of Cool", "Portland", 1, 3.5, university); High_School high_school("Cool High School", 2, 3.7); college.set_college_name("College of Cool II"); college.set_college_location("Los Angeles"); college.set_college_rank(7); college.set_reqd_gpa_for_admit(3.99); college.print_pin(); high_school.set_high_school_name("Cool High School II"); high_school.set_high_school_location("New York"); high_school.set_high_school_rank(2); high_school.set_reqd_gpa_for_admit(3.2); high_school.print_pin(); same_university("\ncollege(university) == university", college, university); same_university("high_school == university", high_school, university); same_university("university == university", university, university); same_university("university(anonymous) == university", University(), university); high_school.set_university_pin(university); same_university("high_school(university) == university", high_school, university); return 0; } template auto same_university(std::string description, const L &left, const R &right) -> void { std::cout << description << ": universities are " << (left == right ? "the same" : "different") << ".\n"; }