美文网首页
<<的重载

<<的重载

作者: 猩猩隊長 | 来源:发表于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;
}

相关文章

  • PHP编程开发技巧:PHP中重载如何实现

    PHP编程开发技巧:PHP中重载如何实现,重载分为属性重载和方法重载,在PHP中的重载和在其它编程语言的重载不一样...

  • C++操作符重载

    重载操作符的限制 可以重载的操作符 不能重载的算符 操作符重载的语法形式 重载赋值操作符 重载+-*/运算操作符操...

  • C++基础-(重载)

    C++基础 重载 哪些运算符可以被重载:::,.,->,*,?:不能被重载 重载操作符的标志(operator) ...

  • Java重载与重写

    简言 重写和重载都是面向对象多态的一种表现,重载是编译时多态,重载是运行时多态. 重载 重载(Overloadin...

  • C++ 部分运算符重载

    可重载的运算符 不可重载的运算符和符号 重载运算符为类的成员函数 重载运算符为友元函数 重载赋值运算符 重载流插入...

  • 2019-07-11 运算符的重载

    运算符的重载 重载运算符 (“::”,“.*”,“.”,“?:”)不能被重载。 重载运算符时,不能改变其本质,如不...

  • C#多态的表现-方法重载,方法重写以及密封类的特点

    方法重载 方法重载:构造函数就属于特殊的方法重载 方法重载:是指同一个类中相同方法的不同行为 方法重载的特点: 1...

  • c++ 运算符重载

    重载方法 运算符的重载实质上是函数的重载。函数的重载就是对一个已有函数赋予新的含义,使之实现新的功能。 重载运算符...

  • Cocos2dx之C++基础(四)

    函数重载函数不以返回值来区分重载函数函数不以参数名来区分重载函数使用重载函数的时候不要引起二义性结构函数也可以重载...

  • 2.C++对C的扩展

    重载(overload) C++中,引用了函数重载的概念,函数名同名,参数列表不同形成重载。重载规则: 函数名相同...

网友评论

      本文标题:<<的重载

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