当前位置: 首页 > news >正文

运算符重载

#include <iostream>
using namespace std;
class Num
{
private:int num1; //实部int num2; //虚部
public:Num(){}; //无参构造Num(int n1,int n2):num1(n1),num2(n2){}; //有参构造~Num(){}; //析构函数const Num operator+(const Num &other)const  //加号重载{Num a; //定义临时类对象a.num1 = num1 + other.num1; //实部相加a.num2 = num2 + other.num2; //虚部相加return  a;}bool operator==(const Num &other)const //相等重载{//判断实部虚部是否分别相等if(num1 == other.num1 && num2 == other.num2){return true;}else{return false;}}Num &operator+=(const Num &other)  //加等重载{//实部虚部分别加等于num1 += other.num1;num2 += other.num2;return *this;}Num &operator++()  //重载前置++{++num1;++num2;return *this;}Num &operator++(int) //重载后置++{num1++;num2++;return *this;}Num operator-()const  //重载-{Num temp;temp.num1 = -num1;temp.num2 = -num2;return temp;}void init(int n1,int n2)  //修改类中的值{num1 = n1;num2 = n2;}void show() //展示{if(num2 < 0){cout << num1 << num2 << "j" << endl;}else{cout << num1 << "+" << num2 << "j" << endl;}}
};int main()
{Num n1;      //调用无参构造Num n2(4,3); //调用有参构造n1.show();   //调用展示函数cout << "*********************" << endl;n1.init(4,2);    //调用修改函数n1.show();cout << "*********************" << endl;n1++;n1.show();cout << "*********************" << endl;++n1;n1.show();cout << "*********************" << endl;if(n1 == n2)  // 调用重载的相等函数{cout << "true" << endl;}else{cout << "false" << endl;}cout << "*********************" << endl;n1 += n2; //调用加等于重载函数n1.show();cout << "*********************" << endl;n1 = -n2; //调用重载-n2.show();return 0;
}

http://www.lryc.cn/news/182372.html

相关文章:

  • Llama2-Chinese项目:7-外延能力LangChain集成
  • ES6中数组的扩展
  • 计算机考研 | 2016年 | 计算机组成原理真题
  • Web版Photoshop来了,用到了哪些前端技术?
  • FL Studio21.1.0水果中文官方网站
  • [BJDCTF2020]Mark loves cat
  • @SpringBootApplication注解的理解——如何排除自动装配 分布式情况下如何自动加载 nacos是怎么被发现的
  • HTTP的前世今生
  • 软件测试教程 自动化测试selenium篇(二)
  • JavaSE入门--初始Java
  • leetcode做题笔记160. 相交链表
  • 数学建模Matlab之检验与相关性分析
  • 微服务网关:Spring Cloud Zuul 升级 Spring Cloud Gateway 的核心要点
  • 视频讲解|含可再生能源的热电联供型微网经济运行优化(含确定性和源荷随机两部分代码)
  • 3种等待方式,让你学会Selenium设置自动化等待测试脚本!
  • [Spring] Spring5——AOP 简介
  • C/C++ 动态规划面试算法题
  • kafka伪集群部署,使用zookeeper模式
  • Postgresql 主从复制+主从切换(流复制)
  • java获取字符串集合中每个字符并且组成一个新的集合实现
  • 结构型设计模式——外观模式
  • 【算法学习】-【双指针】-【快乐数】
  • 【Java-LangChain:使用 ChatGPT API 搭建系统-6】处理输入-链式 Prompt Chaining Prompts
  • 从零手搓一个【消息队列】创建核心类, 数据库设计与实现
  • 14:00面试,14:06就出来了,这问的过于变态了。。。
  • url请求头信息
  • 【Oracle】Oracle系列之十六--数据库备份
  • uni-app:实现页面效果3
  • 计算机网络基础(一):网络系统概述、OSI七层模型、TCP/IP协议及数据传输
  • 互联网金融理财知识点简单总结