从地图中获取所有值

时间:2017-01-14 22:35:47

标签: c++ class private

我有一个类Student,它包含一个名称,一个私有的int regNo和一个私有映射,它是一个商标。这是构造函数。

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

我需要编写一个函数,它接受两个参数,我的学生集合存储在一个向量中,一个用户提供的浮点数,该函数应该输出学生的名字,以及最小,最大和平均分数当他们的平均值大于用户提供的输入时。我的问题是从地图中获取所有值(标记)的最简单方法是什么?在访问地图并获得所有标记时,我是否需要在学生班级中返回标记的功能,如何做到最好?感谢。

1 个答案:

答案 0 :(得分:3)

您可以创建一个返回所有标记的矢量的函数

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