c++プログラミング練習016:呆然と!ポイントがこんなに入出力できるなんて
6148 ワード
北京大学のプログラム設計とアルゴリズム(三)vs 2019から実現
説明
入力
複数グループのデータ、各グループの2つの整数
しゅつりょく
各グループのデータに対して、1行を出力します.入力した2つの整数です.
サンプル入力
2 3 4 5
サンプル出力
2,3 4,5ソースGuo Wei
インプリメンテーション
要点
1.ストリーム挿入演算子とストリーム抽出演算子のリロード、すなわち左シフト右シフトリロード2.パラメータ伝達は参照方式で行われ、オブジェクトの参照も返されるため、リロードされた演算子は連続出力を実現できます.
3.c++標準ライブラリに出力されるオブジェクトは、bool、int、doubleなどのC++内蔵データ型と、string、complex、ofstream、ifstreamなどの標準ライブラリに含まれるクラス型のみです.
coutはostreamクラスのオブジェクト、cinはistreamクラスのオブジェクトです.グローバル関数(友元関数)として再ロードする必要があります<>
説明
#include
using namespace std;
class Point {
private:
int x;
int y;
public:
Point() {
};
//
};
int main()
{
Point p;
while(cin >> p) {
cout << p << endl;
}
return 0;
}
入力
複数グループのデータ、各グループの2つの整数
しゅつりょく
各グループのデータに対して、1行を出力します.入力した2つの整数です.
サンプル入力
2 3 4 5
サンプル出力
2,3 4,5ソースGuo Wei
インプリメンテーション
#include
using namespace std;
class Point {
private:
int x;
int y;
public:
Point() {
};
friend istream& operator>>(istream & is,Point & p) {
is >> p.x >> p.y;
return is;
}
friend ostream& operator<<(ostream & os,const Point & p) {
os << p.x << "," << p.y;
return os;
}
};
int main()
{
Point p;
while (cin >> p) {
cout << p << endl;
}
return 0;
}
要点
1.ストリーム挿入演算子とストリーム抽出演算子のリロード、すなわち左シフト右シフトリロード2.パラメータ伝達は参照方式で行われ、オブジェクトの参照も返されるため、リロードされた演算子は連続出力を実現できます.
3.c++標準ライブラリに出力されるオブジェクトは、bool、int、doubleなどのC++内蔵データ型と、string、complex、ofstream、ifstreamなどの標準ライブラリに含まれるクラス型のみです.
coutはostreamクラスのオブジェクト、cinはistreamクラスのオブジェクトです.グローバル関数(友元関数)として再ロードする必要があります<>