在 C++ 中過載輸入和輸出流插入運算子
Muhammad Adil
2023年12月11日
你可以在 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