C++遍历设备管理中的监视器,输出所有监视器的名字
时间: 2024-10-12 19:09:06 浏览: 28
在C++中,如果你有一个设备管理类,比如`DeviceManager`,它包含了设备及其对应的监视器列表,你可以通过迭代器来遍历并输出所有监视器的名字。下面是一个基本示例:
```cpp
#include <iostream>
#include <map>
// 设备类
class Device {
public:
std::string name;
Device(const std::string& n) : name(n) {}
};
// 设备管理器类
class DeviceManager {
private:
std::map<std::string, Device> devices; // 存储设备及其监视器的名字
public:
// 添加设备和监视器
void addDevice(const std::string& deviceId, const std::string& monitorName) {
devices[deviceId] = Device(monitorName);
}
// 遍历设备,打印监视器名字
void listMonitors() {
for (const auto& device : devices) {
std::cout << "Device " << device.first << " has monitor named: " << device.second.name << std::endl;
}
}
};
int main() {
DeviceManager dm;
dm.addDevice("Device1", "Monitor1"); // 添加示例设备和监视器
dm.addDevice("Device2", "Monitor2"); // 添加更多设备和监视器
dm.listMonitors(); // 输出所有设备的监视器名字
return 0;
}
```
在这个示例里,`listMonitors`函数会遍历`devices` map,并对每一个键值对(即设备ID和其对应的设备对象),打印出设备的名称以及关联的监视器名称。
阅读全文