重载运算符“<<”和“>>”,使其能够输入一件商品的信息和输出这件商品的信 息。商品类的信息包括:编号、商品名、价格。具体测试数据自行选定。
时间: 2024-03-17 10:40:11 浏览: 127
运算符重载 << >>流插入符 流提取符
好的,我可以为您提供一个简单的代码示例:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Goods {
public:
Goods(int id = 0, string name = "", double price = 0.0) : m_id(id), m_name(name), m_price(price) {}
friend ostream& operator<<(ostream& os, const Goods& g) {
os << "编号:" << g.m_id << ",商品名:" << g.m_name << ",价格:" << g.m_price << endl;
return os;
}
friend istream& operator>>(istream& is, Goods& g) {
cout << "请输入商品编号:";
is >> g.m_id;
cout << "请输入商品名称:";
is >> g.m_name;
cout << "请输入商品价格:";
is >> g.m_price;
return is;
}
private:
int m_id;
string m_name;
double m_price;
};
int main() {
Goods g;
cin >> g;
cout << "您输入的商品信息是:" << endl;
cout << g;
return 0;
}
```
在上面的代码中,我们定义了一个 `Goods` 类,其中包含了商品的编号、名称和价格三个属性。我们重载了运算符 `<<` 和 `>>`,使其能够输出和输入商品的信息。在 `<<` 运算符中,我们使用了 `friend` 关键字,使其能够访问 `Goods` 类的私有成员。在 `>>` 运算符中,我们通过 `cout` 和 `cin` 分别输出和输入商品的信息。在 `main` 函数中,我们创建了一个 `Goods` 对象 `g`,并通过 `cin` 输入商品信息,然后再通过 `cout` 输出商品信息。
你可以根据自己的需要来修改代码中的数据类型、属性名称和输入输出方式等。
阅读全文