请用C++编写一个:键值对的类,并且给出使用方法演示
时间: 2024-09-13 08:08:48 浏览: 38
在C++中,我们可以创建一个简单的`Map`类(类似于哈希映射),使用`std::unordered_map`作为底层数据结构,它提供了键值对的操作。这是一个基础的实现:
```cpp
#include <iostream>
#include <unordered_map>
class KeyValueStore {
private:
std::unordered_map<std::string, int> data;
public:
// 插入键值对
void insert(const std::string& key, int value) {
data[key] = value;
std::cout << "Inserted: (" << key << ", " << value << ")\n";
}
// 获取值
int get(const std::string& key) const {
if (data.find(key) != data.end()) {
return data[key];
} else {
std::cerr << "Key not found: " << key << "\n";
return -1; // 或者抛出异常处理找不到的情况
}
}
// 删除键值对
bool remove(const std::string& key) {
auto it = data.find(key);
if (it != data.end()) {
data.erase(it);
return true;
} else {
return false;
}
}
// 打印所有键值对
void print() const {
for (const auto& pair : data) {
std::cout << "Key: " << pair.first << ", Value: " << pair.second << "\n";
}
}
};
int main() {
// 使用示例
KeyValueStore kv;
kv.insert("name", 42);
kv.insert("age", 25);
kv.print(); // 打印初始内容
int age = kv.get("age");
std::cout << "Age: " << age << "\n";
kv.remove("name");
kv.print();
return 0;
}
```
在这个例子中,我们创建了一个`KeyValueStore`类,包含了插入、获取、删除键值对以及打印存储内容的方法。在`main`函数中展示了如何使用这个类。
阅读全文