C++ での入力および出力ストリーム挿入演算子のオーバーロード

Muhammad Adil 2023年12月11日
  1. 入力および出力ストリーム挿入演算子の使用
  2. C++ で入力および出力ストリーム挿入演算子をオーバーロードする手順
C++ での入力および出力ストリーム挿入演算子のオーバーロード

C++ で演算子のオーバーロードを実行できます。この記事では、入力ストリームと出力ストリームの挿入演算子について説明します。

演算子は、C++ で式を作成する方法です。それらをオーバーロードできます。つまり、演算子の新しい意味を定義できます。

入出力ストリーム挿入演算子は、ファイルから情報を読み書きします。C++ では、ストリーム挿入演算子 << が出力に使用され、>> が入力に使用されます。

これらの演算子のオーバーロードを開始する前に、まずこれらの点を理解する必要があります。cin および cout は、istream および ostream クラスのオブジェクトです。

グローバル関数として、これらの演算子はオーバーロードする必要があります。また、クラスのメンバーの個人情報にアクセスできるようにする場合は、友達として追加する必要があります。

演算子のオーバーロードの場合、メンバーとしてオーバーロードされている場合は、演算子の左側のオブジェクトに演算子が含まれている必要があることに注意してください。

入力および出力ストリーム挿入演算子の使用

以下は、入力および出力ストリーム挿入演算子の使用法です。

  1. 入力データをプログラムに挿入します。
  2. 出力データをプログラムに挿入します。
  3. あるプロセスから別のプロセスにデータを渡すために使用できるパイプを作成します。

C++ で入力および出力ストリーム挿入演算子をオーバーロードする手順

次の手順に従って、C++ で入力および出力ストリーム挿入演算子をオーバーロードできます。

  • 入力ストリームと出力ストリームの 2つのパブリックデータメンバーでクラスを作成します。
  • 2つのパブリック関数、つまり出力 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 avatar Muhammad Adil avatar

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

関連記事 - C++ Operator