c++ - 从 map 中获取所有值

标签 c++ class private

我有一个 Student 类,其中包含一个名称、一个 private int regNo 和一个存储他们标记的私有(private)映射。这是构造函数。

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

我需要写一个函数,它有两个参数,我的学生集合存储在一个 vector 中,还有一个用户提供的 float ,该函数应该输出学生的名字,以及最小、最大和平均分数当他们的平均值大于用户提供的输入时。我的问题是从 map 中获取所有值(标记)的最简单方法是什么?就像访问 map 和获取所有标记一样,我是否需要在学生类中返回标记的函数,最好怎么做?谢谢。

最佳答案

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

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

关于c++ - 从 map 中获取所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41655748/

相关文章:

java - Java 中的 public、protected、package-private 和 private 有什么区别?

c++ - 如何用 Eclipse 打开现有的 C++ 项目?

c++ - 是否有用于 C 字符串的标准 C++ 迭代器?

javascript - 静态变量中相互依赖的ES6类

c++ - 在初始化列表之前执行检查

jquery - 单击 anchor 时突出显示 div

c++ - 是否有私有(private)使用名称=类型;

image - 使用 Docker 从私有(private)注册表加载具有依赖项的镜像

c++ - 如何在不创建实例的情况下获取类的方法成员的类型?

c++ - 哪些选项(如果有)在 Visual Studio 2015 中暗示/CLR