#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;
}
<<的重载
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 2019.6.4 14:40 三刷结束留念 ——小楠楠 2019.4.11 17:28二刷结束留念 慢慢...
- 几个常用管理配置文件的区别supervisorctl help reload[root@mobileapp ~]#...