编写程序,重载运算符“<<”和“>>”,使用户能直接输入和输出固定电话的号码。电话号码以如下形式输入和输出: (027)xxxxxxxx
时间: 2024-03-21 16:39:36 浏览: 43
好的,我理解了你的问题。以下是一个可以重载运算符“<<”和“>>”的 C++ 程序,用于直接输入和输出固定电话的号码,格式为 (xxx)xxxxxxxx:
```c++
#include <iostream>
using namespace std;
class PhoneNumber {
private:
string areaCode;
string number;
public:
friend ostream& operator<<(ostream& os, const PhoneNumber& pn) {
os << "(" << pn.areaCode << ")" << pn.number;
return os;
}
friend istream& operator>>(istream& is, PhoneNumber& pn) {
char c;
is >> c; // 读取左括号
is >> pn.areaCode;
is >> c; // 读取右括号
is >> pn.number;
return is;
}
};
int main() {
PhoneNumber pn;
cout << "请输入电话号码:";
cin >> pn;
cout << "您输入的电话号码是:" << pn << endl;
return 0;
}
```
在该程序中,我们定义了一个名为 PhoneNumber 的类,其中包含了固定电话号码的区号和号码两个成员变量。我们通过重载运算符“<<”和“>>”,实现了对该类对象的直接输入和输出。在输出时,我们按照题目要求的格式输出,在输入时,我们首先读取左括号,然后读取区号和右括号,最后读取号码。
在 main 函数中,我们创建了一个名为 pn 的 PhoneNumber 对象,然后通过输入运算符“>>”从标准输入流中读取电话号码,最后通过输出运算符“<<”将其输出到标准输出流中。
希望这个程序能够解决你的问题。如果你有任何疑问或者需要进一步帮助,请随时告诉我。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)