【day4】类和对象

 

#include <iostream>
using namespace std;class Complex
{int real;int vir;
public:Complex(){}Complex(int a,int b):real(a),vir(b){}void show(){cout << real << "+" << vir << "i" << endl;}//成员函数版的运算符重载Complex operator+(Complex &a){//temp用于存储运算的临时结构Complex temp;temp.real = this->real+a.real;temp.vir = this->vir+a.vir;//运算结束把结果返回return temp;}//成员函数版重载*运算符//a*bComplex operator*(const Complex &a){Complex temp;temp.real=this->real*a.real;temp.vir=this->vir*a.vir;return temp;}//成员函数版<运算符重载//a3<a2bool operator<(Complex &a2){if(this->real==a2.real){return this->vir<a2.vir;}else {return this->real<a2.real;}}//给重载-运算符的全局函数添加友元的声明friend Complex operator-(Complex &c1,Complex &c2);friend bool operator>(Complex &a1,Complex &a2);friend ostream &operator<<(ostream &out,Complex &c1);friend istream &operator>>(istream &in,Complex &c1);};
//使用全局函数重载-运算符
Complex operator-(Complex &c1,Complex &c2)
{Complex temp;temp.real = c1.real-c2.real;temp.vir = c1.vir-c2.vir;return temp;
}
//全局函数实现>运算符的重载
bool operator>(Complex &a1,Complex &a2)
{//如果两个类对象的实部相等,判断虚部if(a1.real==a2.real){return a1.vir>a2.vir;}else {return a1.real>a2.real;}
}
//重载输出<<
ostream &operator<<(ostream &out,Complex &c1)
{out<<c1.real<<'\t'<<c1.vir<<endl;return out;
}
//重载输入>>
istream &operator>>(istream &in,Complex &c1)
{in>>c1.real;in>>c1.vir;return in;
}int main()
{Complex c1;Complex c2;cin>>c1;cin>>c2;cout<<c1<<c2;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/2925.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spark12-13-14

12. Task线程安全问题 12.1 现象和原理 在一个Executor可以同时运行多个Task&#xff0c;如果多个Task使用同一个共享的单例对象&#xff0c;如果对共享的数据同时进行读写操作&#xff0c;会导致线程不安全的问题&#xff0c;为了避免这个问题&#xff0c;可以加锁&#xff…

Linux操作系统学习——启动

概要 Linux操作系统内核是服务端学习的根基&#xff0c;也是提高编程能力、源码阅读能力和进阶知识学习能力的重要部分&#xff0c;本文开始将记录Linux操作系统中的各个部分源码学习历程。 1. 理解代码的组织结构 以Linux源码举例&#xff0c;首先你得知道操作系统分为哪几个部…

Django框架之邮件系统,涉及HTML、富文本、附件邮件发送

参考 (892条消息) Django框架之邮件系统&#xff0c;涉及HTML、富文本、附件邮件发送_django邮件系统_李恩泽的技术博客的博客-CSDN博客https://blog.csdn.net/heroiclee/article/details/121406488 发送设置&#xff08;settings.py&#xff09; EMAIL_USE_SSL True # Sec…

Qt关闭主窗口后,退出所有异步线程

目录 1.要知道主窗口什么时候关闭2.关闭异步线程 1.要知道主窗口什么时候关闭 在widget.h新增下面的函数 private slots:void closeEvent(QCloseEvent *event);在widget.cpp新增 void Widget::closeEvent(QCloseEvent *event) {qDebug() << "关闭主窗口了&#x…

机器学习复习6

机器学习复习 1 - 在机器学习的背景下&#xff0c;什么是诊断(diagnostic)&#xff1f; A. 这指的是衡量一个学习算法在测试集(算法没有被训练过的数据)上表现如何的过程 B. 迅速尝试尽可能多的不同方法来改进算法&#xff0c;从而看看什么方法有效 C. 机器学习在医疗领域的应用…

基于Java+Swing+Mysql物流跟踪管理系统

基于JavaSwingMysql物流跟踪管理系统 一、系统介绍二、功能展示1.主页2.新增物流信息3.删除物流信息 三、数据库四、其他系统实现五、获取源码 一、系统介绍 该系统实现了查看物流列表、新增物流信息、删除物流信息 运行环境&#xff1a;eclipse、idea、jdk1.8 二、功能展示…

satellite: 利用TLE动态计算并实时显示多颗卫星的位置及轨迹

本示例的目的是介绍演示如何在vue+satellite项目中利用两行根数动态地计算,并显示多个卫星的位置及轨迹。每秒钟更新一下卫星的位置和角度,加载当前时间到固定时间(如720分钟后)的一段轨迹。 直接复制下面的 vue+openlayers源示例代码,操作2分钟即可运行实现效果 文章目…

怎么去除视频里的背景音乐?其实非常简单!

如何去除视频背景音乐&#xff1f;在视频处理中&#xff0c;有时我们需要从视频中提取声音并进行处理&#xff0c;而不仅仅是简单地去除整个背景音乐。我们可能需要有选择性地去除人声或背景音乐。这个处理过程对于选用合适的工具至关重要。在本文中&#xff0c;我将分享两种可…

深度学习图像分类、目标检测、图像分割源码小项目

​demo仓库和视频演示&#xff1a; 银色子弹zg的个人空间-银色子弹zg个人主页-哔哩哔哩视频 卷积网路CNN分类的模型一般使用包括alexnet、DenseNet、DLA、GoogleNet、Mobilenet、ResNet、ResNeXt、ShuffleNet、VGG、EfficientNet和Swin transformer等10多种模型 目标检测包括…

基于Python热门旅游景点数据分析系统设计与实现

博主介绍&#xff1a; ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精彩专…

【MySql】基本查询

文章目录 插入操作insert查询操作selectselect查询where条件判断order by排序limit筛选分页结果 更新操作update删除操作delete插入查询结果 CRUD : Create(创建), Retrieve(读取)&#xff0c;Update(更新)&#xff0c;Delete&#xff08;删除&#xff09; 先创建提供一张表&am…

【CentOS】VirtualBox yum 无法使用

【CentOS】VirtualBox yum 无法使用 yum install net-tools -y出现如下错误&#xff1a; cannot find a valid baseurl for repo: base/7/x86_64或无法ping 解决如下&#xff1a; 进入系统&#xff0c;修改网卡信息。 执行修改命令&#xff0c;ifcfg-xxx 后面的xxx就是上面…