#include <iostream>
class MyInteger {
private:
int value;
public:
friend std::istream& operator>>(std::istream& input, MyInteger& obj);
};
std::istream& operator>>(std::istream& input, MyInteger& obj) {
input >> obj.value;
return input;
}
上記のコードでは、MyInteger
という名前のクラスを定義し、value
というプライベートメンバ変数を持っています。std::istream
型の入力ストリームとMyInteger
型のオブジェクトへの参照を引数として取るoperator>>
関数を、MyInteger
クラスのフレンド関数として宣言しています。
関数の本体では、入力ストリームから整数値を読み取り、value
メンバ変数に格納しています。最後に、入力ストリームを返しています。
このオーバーロードされた演算子を使用すると、>>
演算子を使ってMyInteger
オブジェクトに整数値を直接入力することができます。
以下は、オーバーロードされた演算子を使用する例です。
int main() {
MyInteger myInt;
std::cout << "Enter an integer: ";
std::cin >> myInt;
std::cout << "The entered integer is: " << myInt << std::endl;
return 0;
}
上記の例では、ユーザーに整数を入力してもらい、入力値をmyInt
オブジェクトに格納しています。その後、myInt
オブジェクトの値を表示しています。
このように、オーバーロードされたストリーム抽出演算子を使用することで、整数の入力と表示を簡潔に行うことができます。