■iostreamによる入出力
#include <iostream>
using namespace std;
class Rational {
friend ostream& operator<<(ostream& s, const Rational& r);
friend istream& operator>>(istream& s, Rational& r);
void setn( int numerator ) { n = numerator; }
void setd( int denominator ) { d = denominator; }
public:
int n, d;
Rational( int numerator = 0, int denominator = 1);
};
Rational::Rational( int numerator, int denominator)
{
n = numerator;
d = denominator;
}
ostream& operator<<(ostream& s, const Rational& r)
{
s << r.n << '/' << r.d;
return s;
}
istream& operator>>(istream& s, Rational& r)
{
s >> r.n >> r.d;
return s;
}
int main()
{
int i = 10;
Rational r;
cin >> i >> r;
cout << "整数: " << i << endl
<< "有利数: " << r << endl;
return 0;
} |
クラスのオブジェクトを入出力される場合はoperator<<、operator>>をサポートしている必要がある。