非会員関数を使用して演算子をオーバーロードすると、最初のパラメータは左のオペランドに対応し、2番目のパラメータは右のオペランドに対応しますか?私はこのようにそれを使用するには、「< <」演算子オーバーロードしようとしていた演算子のオーバーロード:第1パラメータは左のオペランドに対応し、第2の1つは右のオペランドに対応しますか?
:以下
stream << ClassA << ClassB
はFeetInches
は、メンバ変数feet
とinches
を持つクラスである例です。
が、このパラメータの順序が動作しない -
ostream &operator<<(ostream &strm, const FeetInches &obj)
{
strm << obj.feet << " feet, " << obj.inches << " inches";
return strm;
}
:
は、このパラメータの順序が動作する理由ということですか?ostream &operator<<(const FeetInches &obj, ostream &strm)
{
strm << obj.feet << " feet, " << obj.inches << " inches";
return strm;
}