我有一个类Student,它包含一个名称,一个私有的int regNo和一个私有映射,它是一个商标。这是构造函数。
Student::Student (string const& name, int regNo):Person(name), regNo(regNo)
{
map<string, float> marks;
}
我需要编写一个函数,它接受两个参数,我的学生集合存储在一个向量中,一个用户提供的浮点数,该函数应该输出学生的名字,以及最小,最大和平均分数当他们的平均值大于用户提供的输入时。我的问题是从地图中获取所有值(标记)的最简单方法是什么?在访问地图并获得所有标记时,我是否需要在学生班级中返回标记的功能,如何做到最好?感谢。
答案 0 :(得分:3)
您可以创建一个返回所有标记的矢量的函数
vector<string> vec;
for( map<string,float>::iterator it = marks.begin(); it != marks.end(); ++it)
{
vec.push_back(it->first);
}