部分解答来自网上已有解答
EX.9-1
Student_info.h
#pragma once
#include <string>
#include <vector>
class Student_info {
public:
Student_info();
Student_info(std::istream&);
std::string name() const { return n; }
bool valid() const {return !homework.empty(); }
std::istream&read(std::istream&);
double grade() const;
private:
std::string n;
double midterm, final, g;
std::vector<double> homework;
};
bool compare(constStudent_info&,const Student_info&);
Student_info.cpp
#include <iostream>
#include <vector>
#include "grade.h"
#include "Student_info.h"
using std::istream;
using std::vector;
double Student_info::grade() const{
return g;
}
bool compare(constStudent_info& x,const Student_info& y){
return x.name() < y.name();
}
Student_info::Student_info(): midterm(0), final(0) {