用c++写一个有关乐器价格顺序表,类
时间: 2024-09-17 14:08:25 浏览: 52
在C++中,你可以创建一个名为`Instrument`的类来表示乐器,并包含价格信息。然后可以添加一个排序功能来维护一个按价格升序排列的列表。下面是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm> // 使用sort函数
class Instrument {
public:
std::string name;
double price;
// 构造函数
Instrument(const std::string& n, double p) : name(n), price(p) {}
// 比较运算符重载,用于排序
bool operator<(const Instrument& other) const {
return price < other.price;
}
// 打印乐器信息
void display() const {
std::cout << "Name: " << name << ", Price: $" << price << std::endl;
}
};
// 创建一个乐器价格顺序表
class MusicStore {
private:
std::vector<Instrument> instruments;
public:
// 添加乐器并自动排序
void addInstrument(const Instrument& inst) {
instruments.push_back(inst);
std::sort(instruments.begin(), instruments.end());
}
// 显示所有乐器按照价格排序
void displayInstruments() const {
for (const auto& inst : instruments) {
inst.display();
}
}
};
int main() {
MusicStore store;
store.addInstrument(Instrument("Guitar", 500));
store.addInstrument(Instrument("Piano", 10000));
store.addInstrument(Instrument("Violin", 800));
store.displayInstruments();
return 0;
}
```
在这个例子中,我们创建了一个`MusicStore`类,它有一个内部的`std::vector<Instrument>`用于存储乐器。`addInstrument`方法将乐器添加到列表中,并通过`sort`函数保持价格排序。`displayInstruments`方法则打印出所有乐器。
阅读全文