商品货架管理C++,头文件和两个源文件
时间: 2024-10-20 14:04:48 浏览: 16
商品货架管理在C++中通常涉及设计一个数据结构来表示货架,以及相关的操作函数如添加、删除和查找商品等。这涉及到类的设计和文件组织。
首先,你需要创建一个`shelf.h`(头文件)来声明类的公共接口,例如:
```cpp
// shelf.h
#ifndef SHELF_H
#define SHELF_H
#include <string>
#include <vector>
class Shelf {
public:
// 构造函数和析构函数
Shelf(int capacity);
~Shelf();
// 添加商品方法
void addProduct(const std::string& product);
// 删除商品方法
bool removeProduct(const std::string& product);
// 查找商品方法
bool containsProduct(const std::string& product) const;
private:
int capacity;
std::vector<std::string> products; // 存放商品的容器
};
#endif // SHELF_H
```
接下来,你会有一个`shelf.cpp`(源文件),用于实现上述头文件中声明的所有方法:
```cpp
// shelf.cpp
#include "shelf.h"
// 实现构造函数和析构函数
Shelf::Shelf(int capacity) : capacity(capacity), products(capacity) {}
Shelf::~Shelf() {}
// 添加商品的具体实现
void Shelf::addProduct(const std::string& product) {
if (products.size() >= capacity) {
return; // 货架已满,无法添加
}
products.push_back(product);
}
// 删除商品的具体实现
bool Shelf::removeProduct(const std::string& product) {
auto it = std::find(products.begin(), products.end(), product);
if (it != products.end()) {
products.erase(it);
return true;
}
return false; // 没找到该商品
}
// 查找商品的具体实现
bool Shelf::containsProduct(const std::string& product) const {
return std::find(products.begin(), products.end(), product) != products.end();
}
```
阅读全文