从地图中获取所有值

Getting all the values from a map

我有一个 class 学生,其中包含一个姓名、一个私有 int regNo 和一个存储他们标记的私有映射。这是构造函数。

Student::Student (string const& name, int regNo):Person(name), regNo(regNo)
{
    map<string, float> marks;
}

我需要写一个函数,它有两个参数,我的学生集合存储在一个向量中,还有一个用户提供的浮点数,该函数应该输出学生的名字,最小值,最大值和当他们的平均数大于用户提供的输入时,平均分。我的问题是从地图中获取所有值(标记)的最简单方法是什么?就像访问地图并获得所有分数一样,我是否需要学生 class 中的一个函数来 returns 一个分数,最好怎么做?谢谢

您可以创建一个函数,returns所有标记的向量

vector<string> vec;
for( map<string,float>::iterator it = marks.begin(); it != marks.end(); ++it) 
{
    vec.push_back(it->first);
}