// Student.cpp #include #include #include using namespace std; #include "Student.h" // initialization of string or vector objects occurs automatically. // But this is not true of int, double, etc. Student::Student() : rin_( 0 ), gpa_( 0.0 ), grades_sum_( 0.0 ) { } Student::Student( const string& first_name, const string& last_name, int rin ) : first_name_( first_name ), last_name_( last_name ), rin_( rin ), gpa_( 0.0 ), grades_sum_( 0.0 ) { } void Student::add_grade( double grade ) { grades_.push_back( grade ); // recalculate the average grades_sum_ += grade; gpa_ = grades_sum_ / grades_.size(); } ostream& operator<< ( ostream& os, const Student& s ) { os << s.get_last_name() << ", " << s.get_first_name(); return os; }