CからC++に移行中の人が質問するためのスレ
■ このスレッドは過去ログ倉庫に格納されています
0127デフォルトの名無しさん
2005/06/04(土) 19:08:12C++やそれより後の言語には演算子オーバーロードというものが存在する。
例えばstd::cout << 〜;というのも<<演算子のオーバーロード。
std::coutはstd::basic_ostreamクラスのオブジェクトであるが、std::basic_ostreamのメンバには
basic_ostream& operator <<(int n);
basic_ostream& operator <<(const char *);
と言った具合に並んでいる。
そしてstd::cout << 5 << "個";という式は(cout << 5) << "個";と解釈されまず5を引数にしてoperator <<が呼ばれる。
この戻り値は元のオブジェクト自身への参照を返すので次にcout << "個"ということになる。
■ このスレッドは過去ログ倉庫に格納されています