美文网首页
<<的重载

<<的重载

作者: 猩猩隊長 | 来源:发表于2018-12-18 15:41 被阅读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;
    }
    

    相关文章

      网友评论

          本文标题:<<的重载

          本文链接:https://www.haomeiwen.com/subject/axjlkqtx.html