<<的重载
2018-12-18 本文已影响0人
猩猩隊長
#include <iostream>
class Complex
{
public:
Complex(int a = 0, int b = 0) : a_(a), b_(b)
{
}
private:
int a_;
int b_;
friend Complex operator+(const Complex& lhs, const Complex& rhs);
friend std::ostream& operator<<(std::ostream& os, const Complex& cpl);
};
Complex operator+(const Complex& lhs, const Complex& rhs)
{
return Complex(lhs.a_ + rhs.a_, lhs.b_ + rhs.b_);
}
std::ostream& operator<<(std::ostream& os, const Complex& cpl)
{
return os << '(' << cpl.a_ << '+' << cpl.b_ << "i)";
}
using namespace std;
int main()
{
Complex c1(10, 20);
Complex c2(1, 2);
cout << c1 << '\n'
<< c2 << '\n';
Complex c4 = c2 + c1 + c1;
cout << c4 << endl;
return 0;
}