题目来源链接:https://www.dotcpp.com/oj/problem2008.html

题目讲解链接:http://6o2.cn/1yjJB2

 题目描述

利用函数重载完成三个比较大小的Compare函数,供主函数调用

三个Compare函数分别可以处理两个整数、两个字符、两个字符串的比较。

若两个整数比较:若第一个值大于第二个值,则输出最大的一个

若两个字符比较:输出他们的ASC码差值的绝对值

若两个字符串比较:输出最大的一个字符串

要求这三个函数都叫做Compare函数,利用参数类型不同,用函数重载实现

输入

三行

第一行,两个整数,空格分开

第二行,两个字符,空格分开

第三行,两个字符串,空格分开

输出

三行

第一行最大的一个数

第二行两个字符ASC码差值的绝对值

第三行最大的一个字符串

样例输入
10 20
A a
Dotcpp com

样例输出

20
32
com

题目代码

 1 #include<iostream>
2 using namespace std;

3 int Compare(int a,int b);//比较整型数据大小的函数
4 int Compare(char a,char b); //比较字符型数据大小的函数
5 string Compare(string a,string b);//比较字符串型数据大小的函数
 7 int main()
6 {
7 int m1,n1;
8 cin>>m1>>n1;
9 cout<<Compare(m1,n1)<<endl;
10
11 char m2,n2;
12 cin>>m2>>n2;
13 cout<<Compare(m2,n2)<<endl;
14
15 string m3,n3;
16 cin>>m3>>n3;
17 cout<<Compare(m3,n3)<<endl;
18
19 return 0;
20 }

21 int Compare(int a,int b)//比较整型数据大小的函数
22 {
23 int max1 = a ;
24 if (b > max1) max1=b;
25 return max1;
26 }
27 int Compare(char a,char b)//比较字符型数据大小的函数
28 {
29 int result = int (a) - int(b) ;//强制类型转换得到ASCII码值
30 if(result<0) result = -result;//结果取绝对值
31 return result;
32 }
33 string Compare(string a,string b)//比较字符串型数据大小的函数
34 {
35 if(a<b) return b;
36 else return a;
37 }

注意:

1.strcmp()函数是C风格的字符串函数,只能用于char str[size]; 不适用于string str1;

这里完全可以用C++字符串,直接使用==、>、<判断大小,简洁方便。

2.在C++中获取字符的ASCII码值:

提示:字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到储存单元。

做法:定义字符char,输入后把字符强制转换成整数,就是该字符的ASCII码值,即int(char)。

【C++函数题目】重载完成Compare函数的更多相关文章

  1. 学习hash_map从而了解如何写stl里面的hash函数和equal或者compare函数

    ---恢复内容开始--- 看到同事用unordered_map了所以找个帖子学习学习 http://blog.sina.com.cn/s/blog_4c98b9600100audq.html (一)为 ...

  2. c/c++ 模板函数的重载

    模板函数的重载 普通函数可以重载,模板函数也可以重载,但规则复杂 有下面2个函数,名字相同,返回值相同就,参数不同,符合重载. template<typename T> std::stri ...

  3. C++运算符重载(友元函数方式)

    我们知道,C++中的运算符重载有两种形式:①重载为类的成员函数(见C++运算符重载(成员函数方式)),②重载为类的友元函数. 当重载友元函数时,将没有隐含的参数this指针.这样,对双目运算符,友元函 ...

  4. C++多态性----运算符重载与虚函数

    一.多态性 ①概述:多态是指同样的消息被不同类型的对象接收时导致的不同行为. ②类型: 可以分为四类:重载多态.强制多态.包含多态.参数多态. ------------------------ --- ...

  5. 【非原创】C++类成员函数的重载、覆盖和隐藏

    链接:https://www.nowcoder.com/questionTerminal/266d3a6d4f1b436aabf1eff3156fed95来源:牛客网 题目:类成员函数的重载.覆盖和隐 ...

  6. JAVA之旅(二)——if,switch,for,while,do while,语句嵌套,流程控制break , continue ,函数,重载的示例总结

    JAVA之旅(二)--if,switch,for,while,do while,语句嵌套,流程控制break , continue ,函数,重载的示例总结 JAVA的思想真的很重要,所以要专心的学-- ...

  7. 聊聊C++模板函数与非模板函数的重载

    前言 函数重载在C++中是一个很重要的特性.之所以有了它才有了操作符重载.iostream.函数子.函数适配器.智能指针等非常有用的东西. 平常在实际的应用中多半要么是模板函数与模板函数重载,或者是非 ...

  8. 【转】C++函数的重载、覆盖和隐藏区别

    网上看到的关于C++函数的重载.覆盖和隐藏区别的回答,如下(其内容来源于C++面试宝典中一道题目): a.成员函数被重载的特征:(1)相同的范围(在同一个类中):(2)函数名字相同:(3)参数不同:( ...

  9. 【C++】多态性(函数重载与虚函数)

    多态性就是同一符号或名字在不同情况下具有不同解释的现象.多态性有两种表现形式: 编译时多态性:同一对象收到相同的消息却产生不同的函数调用,一般通过函数重载来实现,在编译时就实现了绑定,属于静态绑定. ...

随机推荐

  1. Exchange统计邮箱数量

    以Exchange管理员身份登录,打开PowerShell控制台. 1.查询Exchange组织邮箱数量 键入以下命令. Get-Mailbox | Measure-Objcet 2.查询某数据库邮箱 ...

  2. 一篇文章带你整明白HTTP缓存知识

    最近看了很多关于缓存的文章, 每次看完,看似明白但是实际还是没明白,这次总算搞明白协商缓存是怎么回事了 首先,服务器缓存分强制缓存和协商缓存(也叫对比缓存) 强制缓存一般是服务端在请求头携带字段Exp ...

  3. spring-bean依赖注入-02(通过p命名空间注入)

    上一篇博客讲述了为什么使用spring依赖注入,怎么注入,详见 spring-bean依赖注入-01(等你来点击) 废话不多说,开始使用p命名空间进行set注入 使用另外一种注入方式是这样的(具体实现 ...

  4. 比较爽的导航查询 功能 - SqlSugar ORM

    1.导航查询特点 作用:主要处理主对象里面有子对象这种层级关系查询 1.1 无外键开箱就用 其它ORM导航查询 需要 各种配置或者外键,而SqlSugar则开箱就用,无外键,只需配置特性和主键就能使用 ...

  5. python基础练习题(题目 画圈,学用circle画圆形。)

    day37 --------------------------------------------------------------- 实例056:画圈 题目 画图,学用circle画圆形. 分析 ...

  6. url路径匹配类

    AntPathMatcher 1.AntPathMatcher类匹配URL规则如下 ?匹配一个字符 * 匹配0个或多个字符 * *匹配0个或多个目录 2.例子 /trip/api/*x    匹配 / ...

  7. stm32F103RCT6使用FFT运算分析波形详解(非常新手)

    最近学校电赛院队招新,出的招新题就是低频示波器的.之前一直没有弄懂FFT,借着这次机会实现了一下. FFT原理详解 FFT,就是快速傅里叶变换,这个操作能够将时域信号转化成频域信号,然后对信号进行分析 ...

  8. 【Electron】在 WSL2 中 打包 electron Linux 版本

    [Electron]在 WSL2 中 打包 electron Linux 版本. 安装 WSL 我使用的是 Ubuntu 20.04.4 LTS 的版本. 安装 WSL 文档地址:https://do ...

  9. CentOS 并没有死,Rocky Linux 让其重生

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 近日,CentOS 官方发文称CentOS Stream ...

  10. 服务器BIOS和BMC等知识详解

    一个执着于技术的公众号 引言:以BIOS为核心的固件产业,是信创产业链的重要组成部分,可被誉为信创产业的"山海关".在计算机体系中,BIOS 有着比操作系统更为底层和基础性的作用, ...