1. Create an empty project and add a file with a main method. 2. Define a class Student with a name and a course* which will point to an array of course objects in which the student is enrolled. 3. Define a class Course with a name and a student* which will point to an array of enrolled students. 4. For your classes make sure you implement the < operator as required, as well as the destructor to clean up memory, and the stream insertion operator. 5. Define these functions outside of either class in a separate header file: 6. void print_student(const Student* student, std::ostream\& out = std::cout) that prints the name of a student and the names of all courses in which the student is enrolled. You should send the objects to the out using the insertion operator. 7. void print_course(const Course* course, std::ostream\& out = std::cout) that prints the name of a course and the names of all students in that course using a similar behaviour as the method above. 8. c. void enroll(const Student* student, const Course* course) that enrolls the given student in the given course, updating both arrays. 9. NOTE: These methods should not be part of the course or student class. As you add students to classes or courses to students you will have to grow the array dynamically. 10. Use the main method below to show your solution works. Remember to clean up your memory. No user input is needed for this assignment. 11. Make sure you include all required XML comments.