2024-3-14-C++day4作业

news2025/2/24 9:16:49

1>思维导图

2>

要求:

成员函数版本实现算术运算符的重载

全局函数版本实现算术运算符的重载

源代码:


#include <iostream>

using namespace std;

class Stu
{
    friend const Stu operator/(const Stu &s1, const Stu &s2);

private:
    int a;
    int b;
public:
    Stu(){}//无参构造函数
    Stu(int a,int b):a(a),b(b)//有参构造函数进行类对象初始化
    {}
    void show(); // 展示结果数据函数
    const Stu operator%(const Stu &s);//重载%运算符函数声明
};
//展示函数
void Stu::show()
{
    cout << "a= " << a << " b= " << b << endl;
}
// 成员函数版本实现%算术运算符的重载
const Stu Stu::operator%(const Stu &s)
{
    Stu t;
    t.a = this->a % s.a;
    t.b = this->b % s.b;
    return t;
}

//全局函数版本实现/算术运算符的重载
const Stu operator/(const Stu &s1, const Stu &s2)
{
    //除数为0时的异常判断
    if( s2.a == 0 || s2.b ==0)
    {
        cout << "Error enter!" << endl;
        exit(-1);
    }
    //数据正常则进行以下计算
    Stu s;
    s.a = s1.a / s2.a;
    s.b = s1.b / s2.b;
    return s;
}


int main()
{
    //
    Stu s1(14,50);
    Stu s2(4,25);
    cout << "s1: " ;
    s1.show();
    cout << "s2: " ;
    s2.show();
    Stu s3 = s1.operator%(s2);//调用成员函数来重载算数运算符
    cout <<  endl <<"%重载后:" << endl;
    s3.show();//输出s1.a % s2.a  和  s1.b % s2.b
    cout << "================" << endl;

    Stu t1(23,108);
    Stu t2(0,10);
    cout << "t1: " ;
    t1.show();
    cout << "t2: " ;
    t2.show();
    Stu t3 = operator/(t1,t2);//调用全局函数来重载算数运算符
    cout << endl << "/重载后:" << endl;
    t3.show();//输出t1.a / t2.a  和  t1.b / t2.b


    return 0;
}

效果图:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【RabbitMQ | 第六篇】消息重复消费问题及解决方案

文章目录 6.消息重复消费问题6.1问题介绍6.2解决思路6.3将该消息存储到Redis6.3.1将id存入string&#xff08;单消费者场景&#xff09;&#xff08;1&#xff09;实现思路&#xff08;2&#xff09;问题 6.3.2将id存入list中&#xff08;多消费场景&#xff09;&#xff08;1&…

雨云领先技术,即将推出雨盾CDN,助力云端安全与速度

随着数字化时代的不断发展&#xff0c;云计算和内容分发网络&#xff08;CDN&#xff09;的重要性日益凸显。作为行业领先的云计算服务提供商&#xff0c;雨云&#xff08;RainCloud&#xff09;即将推出其全新产品雨盾CDN&#xff0c;旨在为用户提供更安全、更高效的网络加速服…

Visual Studio 2013 - 调试模式下查看监视窗口

Visual Studio 2013 - 调试模式下查看监视窗口 1. 监视窗口References 1. 监视窗口 Ctrl Alt W&#xff0c;1-4&#xff1a;监视窗口 (数字键不能使用小键盘) or 调试 -> 窗口 -> 监视 -> 监视 1-4 调试状态下使用&#xff1a; 在窗口中点击空白行&#xff0c;…

阿里云2核4G4M轻量应用服务器价格165元一年

阿里云优惠活动&#xff0c;2核4G4M轻量应用服务器价格165元一年&#xff0c;4Mbps带宽下载速度峰值可达512KB/秒&#xff0c;系统盘是60GB高效云盘&#xff0c;不限制月流量&#xff0c;2核2G3M带宽轻量服务器一年87元12个月&#xff0c;在阿里云CLUB中心查看 aliyun.club 当前…

Python入门(小白友好)

知识图谱 搭建环境 安装Python:Download Python | Python.org 安装PyCharm:Download PyCharm: The Python IDE for data science and web development by JetBrains 注意:专业版本是收费的,新手小白使用社区版(community)即可 创建第一个项目: 一些PyCharm的设置(也适用…

架构扩展性

架构扩展性&#xff1a;应用扩展 数据扩展 组织扩展 流程扩展 核心方法论–扩展立方体&#xff1a; x轴&#xff1a;无脑克隆 y轴&#xff1a;功能分割z轴&#xff1a;客户分割扩展立方体在应用扩展的应用&#xff1a; x轴&#xff1a;横向克隆 对于无状态的应用&#xff0c;多…

《移动App测试实战》之【专项测试】

&#x1f604;作者简介&#xff1a;小曾同学.com,一个致力于测试开发的博主⛽️&#xff0c; 如果文章知识点有错误的地方&#xff0c;还请大家指正&#xff0c;让我们一起学习&#xff0c;一起进步。&#x1f60a; 座右铭&#xff1a;不想当开发的测试&#xff0c;不是一个好测…

开源的OCR工具基本使用:PaddleOCR/Tesseract/CnOCR

前言 因项目需要&#xff0c;调研了一下目前市面上一些开源的OCR工具&#xff0c;支持本地部署&#xff0c;非调用API&#xff0c;主要有PaddleOCR/CnOCR/chinese_lite OCR/EasyOCR/Tesseract/chineseocr/mmocr这几款产品。 本文主要尝试了EasyOCR/CnOCR/Tesseract/PaddleOCR这…

性能分析调优模型

性能测试除了为获取性能指标外&#xff0c;更多是为了发现性能瓶颈和性能问题&#xff0c;然后针对性能问题和性能瓶颈进行分析和调优。在当今互联网高速发展的时代&#xff0c;结合传统软件系统模型以及互联网网站特征&#xff0c;性能调优的模型可以归纳总结为如图1-5-1所示的…

ClickHouse--13--springboot+mybatis配置clickhouse

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 ClickHouse1.添加maven依赖2.配属数据源3.参数配置4.Druid连接池配置5.entity6.Mapper接口7.Mapper.xml8.controller接口9.创建一个clickhouse表10.测试 ClickHouse…

day04vue学习

day04 一、学习目标 1.组件的三大组成部分&#xff08;结构/样式/逻辑&#xff09; ​ scoped解决样式冲突/data是一个函数 2.组件通信 组件通信语法父传子子传父非父子通信&#xff08;扩展&#xff09; 3.综合案例&#xff1a;小黑记事本&#xff08;组件版&#xff09…

基于python的线上购物商城系统

技术&#xff1a;pythonmysqlvue 一、系统背景 如今的时代是信息化的时代&#xff0c;更种信息大爆炸。人们的基本工作生活中都离不开网络和计算机&#xff0c;现如今各类网站、管理系统、app都快速发展&#xff0c;为人们带来更便捷的生活体验。网站类的系统有宣传类网站、企…

Unity类银河恶魔城学习记录11-2 p104 Inventoty源代码

此章节相对较难理解&#xff0c;有时间单独出一章讲一下 Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili InventoryItem.cs…

一文了解Python中的运算

Python的运算符和其他语言类似 数学运算 >>>print 19 # 加法 >>>print 1.3-4 # 减法 >>>print 3*5 # 乘法 >>>print 4.5/1.5 # 除法 >>>print 3**2 # 乘方 >>>print 10%3 # 求…

equals与时间序列攻击

引言 随着信息技术的迅速发展&#xff0c;网络安全和隐私问题变得愈发重要。黑客和攻击者不断寻找新的攻击方法&#xff0c;其中之一是时间序列攻击&#xff08;Timing Attack&#xff09;。时间序列攻击是一种侧信道攻击&#xff0c;攻击者试图通过测量程序的执行时间来推断程…

施工方项目管理软件哪个好?找企智汇施工项目管理软件!

施工方项目管理软件市场上确实存在多个选择&#xff0c;每个软件都有其独特的特点和优势。而在这些选项中&#xff0c;企智汇施工项目管理系统以其卓越的性能和丰富的功能脱颖而出&#xff0c;成为众多施工方的必选软件。 企智汇施工项目管理系统在项目管理方面表现出色&#…

【C++】用红黑树模拟实现set、map

目录 前言及准备&#xff1a;一、红黑树接口1.1 begin1.2 end1.3 查找1.4 插入1.5 左单旋和右单旋 二、树形迭代器&#xff08;正向&#xff09;2.1 前置 三、模拟实现set四、模拟实现map 前言及准备&#xff1a; set、map的底层结构是红黑树&#xff0c;它们的函数通过调用红…

[已解决] vscode 跳转 python 代码失败

linux 环境下&#xff0c;"Ctrl 单击" 跳转函数定义失败&#xff0c;可以尝试下面的方法: setting -> 输入 go to definition -> 将下列两项配置改为 goto (不过当存在多个同名函数时&#xff0c;可能跳转会不符合预期)

Vulnhub靶机渗透:DC-7打靶记录

前言 自信自强&#xff0c;来自于不怕苦、不怕难的积淀。宝剑锋从磨砺出&#xff0c;梅花香自苦寒来&#xff1b;任何美好理想&#xff0c;都离不开筚路蓝缕、手胼足胝的艰苦奋斗&#xff01; 靶场介绍 DC-7是一个初中级的靶场&#xff0c;需要具备以下前置知识&#xff1a;…

联发科MT8797迅鲲1300T规格参数_MTK5G安卓核心板方案定制

联发科MT8797&#xff08;迅鲲1300T&#xff09;平台采用Arm Cortex-A78和Cortex-A55组成的八核架构CPU&#xff0c;以及Arm Mali-G77MC9九核GPU&#xff0c;集成了AI处理器MediaTek APU&#xff0c;支持5G Sub-6GHz全频段和5G双载波聚合,支持1.08亿像素拍照和多镜头组合,以及1…