编写一个Devc++5.11能用的商品货栈
时间: 2024-10-09 09:04:31 浏览: 41
商品货栈管理,通过栈和队列对商品货栈的管理
在Dev-C++ 5.11(一种基于 Mingw 的 C++ 开发环境)中,我们可以使用标准库中的`std::stack`容器来创建一个简单的商品栈。这个栈将存储商品对象,每个商品可能包含名称、价格等属性。以下是如何创建和使用的简单示例:
```cpp
#include <iostream>
#include <stack> // 包含stack模板
// 假设我们有一个商品类
class Product {
public:
std::string name;
double price;
// 构造函数
Product(const std::string& n, const double& p) : name(n), price(p) {}
// 重载输出流运算符,用于打印商品信息
friend std::ostream& operator<<(std::ostream& os, const Product& product) {
return os << "Name: " << product.name << ", Price: " << product.price;
}
};
int main() {
// 创建一个空的商品栈
std::stack<Product>商品栈;
// 入栈操作
Product apple("Apple", 0.99);
Product book("Book", 15.99);
// 使用push方法将商品入栈
商品栈.push(apple);
商品栈.push(book);
// 打印当前栈顶的商品
std::cout << "Top item in the stack is: ";
if (!商品栈.empty()) {
std::cout << *商品栈.top(); // top()返回栈顶元素的引用
} else {
std::cout << "Stack is empty.\n";
}
// 出栈操作
if (!商品栈.empty()) {
商品栈.pop(); // 移除并返回栈顶元素
std::cout << "Popped an item from the stack: ";
std::cout << *商品栈.top();
}
return 0;
}
```
在这个例子中,我们首先定义了一个`Product`类,然后在主函数中创建了一个`std::stack<Product>`实例。我们添加了两个商品到栈中,然后检查栈是否为空,以及如何查看和移除栈顶元素。
阅读全文