在 C++ 中重载输入和输出流插入运算符
Muhammad Adil
2024年2月16日
你可以在 C++ 中执行运算符重载。这篇文章是关于输入输出流插入操作符的。
运算符是在 C++ 中创建表达式的一种方式。你可以重载它们,这意味着你可以为运算符定义新的含义。
输入和输出流插入运算符从文件中读取或写入信息。在 C++ 中,流插入运算符 <<
用于输出,而 >>
用于输入。
在开始重载这些运算符之前,我们必须先了解这些要点。cin
和 cout
是 istream
和 ostream
类的对象。
作为全局函数,这些运算符必须重载。如果我们想让他们访问类成员的私人信息,我们需要将他们添加为朋友。
需要注意的是,在运算符重载的情况下,运算符左侧的对象如果作为成员重载,则必须包含运算符。
输入和输出流插入运算符的使用
以下是输入和输出流插入运算符的用法:
- 在程序中插入输入数据。
- 在程序中插入输出数据。
- 创建可用于将数据从一个进程传递到另一个进程的管道。
在 C++ 中重载输入和输出流插入运算符的步骤
可以按照以下步骤在 C++ 中重载输入和输出流插入运算符:
-
创建一个具有两个公共数据成员的类:输入和输出流。
-
创建两个公共函数,即输出
operator<<()
和输入operator>>()
。 -
在这两个函数中,创建一个循环,使用
getline()
遍历输入字符串的每个字符,并使用putchar()
将它们插入到输出字符串中。 -
在这两个函数中,使用
return 0;
终止程序。
让我们讨论一个例子。
#include <iostream>
using namespace std;
class Demo {
private:
int x;
int y;
public:
Demo() {
x = 0;
y = 0;
}
Demo(int x1, int y1) {
x = x1;
y = y1;
}
friend ostream &operator<<(ostream &output, const Demo &S) {
output << "x1 : " << S.x << " y1 : " << S.y;
return output;
}
};
int main() {
Demo S1(6, 2), S2(3, 19);
cout << "1st Value : " << S1 << endl;
cout << "2nd Value : " << S2 << endl;
return 0;
}
输出:
1st Value : x1 : 6 y1 : 2
2nd Value : x1 : 3 y1 : 19
单击此处检查上述代码的工作情况。
作者: Muhammad Adil
Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.
Facebook