作业2024/2/3

news2024/11/15 9:02:46

第二章  引用内联重载

一.选择题

   1、适宜采用inline定义函数情况是(C)

A. 函数体含有循环语句

B. 函数体含有递归语句

C. 函数代码少、频繁调用

D. 函数代码多、不常调用

   2、假定一个函数为A(int i=4, int j=0) {;}, 则执行“A (1);”语句后,i和j的值分别为(A)

A. 1和0

B. 1和4

C. 4和0

D. 4和1

3、下列有关重载函数的说法中正确的是(C)

A. 重载函数必须具有不同的返回值类型

B. 重载函数参数个数必须相同

C. 重载函数必须有不同的形参列表

D. 重载函数名可以不同

 4、两个同名函数构成重载关系,以下那个选项不要求不同。B

A. 参数个数

B. 返回类型

C. 参数类型

D. 函数头后有无const

 

二.填空题

1、C++语言中如果调用函数时,需要改变实参或者返回多个值,应该采取__地址传递_____方式

2、执行下列代码

string    str("HelloC++");

cout<<str.substr(5,3);

程序的输出结果是_C++__

3、下面是一个输入半径,输出其面积和周长的C++程序,在下划线处填上正确的语句。

#include <iostream>

#define  pi   3.14

____using namespace std_____;

int main()

{ double rad;

cout<<"rad=";

cin>>rad;

double l=2.0*pi*rad;

double s=pi*rad*rad;

cout<<"\n The long is:"<<l<<endl;

cout<<"The area is:"<<s<<endl;}

4、程序实现大写字母转换成小写字母。

#include <iostream.h>

int main()

{ char a;

_int i=32_____;

cin>>a;

if(_a<='z'&&a>='a'_____)

a=a+i;

cout<<a<<endl;

}

5、执行下列代码

int i=230;

cout <<"i="<<hex <<i<<endl;

程序的输出结果为_i=E6__。

三、编程题

3.1   有以下重载函数定义:

        1 void  f();

        2 void  f(int x);

        3 void  f(int m, int  n);

        4 void  f(double  d1,  double  d2=3.14);

      则以下调用哪些是错误的,哪些可以并与那个函数匹配,编程验证

         f(‘A’);2

         f( 5 ) ;2

         f( 5.5 );4

         f(10, 20);3

         f(10, 23.4)不行

         f(10.8, 24.87)4

 3.2   创建一个函数plus(),它把两个数值加在一起,返回它们的和,提供处理int、double和string类型的重载版本,测试它们是否能处理下面的调用

        int   n = plus(3,4);

        double  d = plus(3.2,4.2);

            string s = plus(“he”, “llo”);

            string s1 = “aaa” ;  string s2 = “bbb”;

            string s3 = plus(s1,s2);

            思考:(1)给string版本的函数传送参数最有效的方式是什么?

给string版本的函数传递参数最有效的方式是使用const string&作为参数型,这样可以避免不必要的拷贝构造和析构操作。

  1. double  d = plus(3, 4.2)能否调用 ?

不能,类型不匹配,不能直接调用,因为没有定义接受一个int和一个double参数的重载函数。可以通过显式类型转换来调用,例如double d = plus(static_cast<double>(3), 4.2);。

代码:

#include <iostream>

#include <string>

int plus(int a, int b) {

    return a + b;

}

double plus(double a, double b) {

    return a + b;

}

std::string plus(const std::string& str1, const std::string& str2) {

    return str1 + str2;

}

int main() {

    int n = plus(3, 4);

    double d = plus(3.2, 4.2);

    std::string s = plus("he", "llo");

    std::string s1 = "aaa";

    std::string s2 = "bbb";

    std::string s3 = plus(s1, s2);

    std::cout << "n = " << n << std::endl;

    std::cout << "d = " << d << std::endl;

    std::cout << "s = " << s << std::endl;

    std::cout << "s3 = " << s3 << std::endl;

    return 0;

}

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

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

相关文章

OceanBase 4.2.2 GA 发布,全新特性快速预览!

在 2023 年度发布会上&#xff0c;OceanBase 沿着“一体化”产品战略思路&#xff0c;发布了一体化数据库的首个长期支持版本 4.2.1 LTS。作为 4.0 系列的首个 LTS 版本&#xff0c;该版本的定位是支撑客户关键业务稳定长久运行&#xff0c;我们非常认真的打磨了这个版本&#…

MySQL事务原理-相关日志

文章目录 前言一、什么是事务&#xff1f;1.1 事务概念1.2 事务的四大特性1.3 事务的隔离级别 二、实现原理2.1 TODO2.2 TODO 前言 事务是由MySQL的引擎来实现的&#xff0c;通过show engines命令查看MySQL存储引擎类别&#xff0c;观察只有InnoDB存储引擎支持事务。 一、什么…

Transformer实战-系列教程3:Vision Transformer 源码解读1

&#x1f6a9;&#x1f6a9;&#x1f6a9;Transformer实战-系列教程总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 1、整体解读 在文本任务中大量使用了Transformer 架构&#xff0c;因为文本数据是一个序列非常好…

如何在FBX剔除Lit.shader依赖

1&#xff09;如何在FBX剔除Lit.shader依赖 2&#xff09;Unity出AAB包&#xff08;PlayAssetDelivery&#xff09;模式下加载资源过慢问题 3&#xff09;如何在URP中正确打出Shader变体 4&#xff09;XLua打包Lua文件粒度问题 这是第371篇UWA技术知识分享的推送&#xff0c;精…

浅谈一下SpringBoot吧

什么是SpringBoot&#xff1f; Spring Boot 是由 Pivotal 团队提供的基于 Spring 的全新框架&#xff0c;旨在简化 Spring 应用的初始搭建和开发过程。该框架使用了特定的方式来进行配置&#xff0c;从而使开发人员不再需要定义样板化的配置。 约定大于&#xff08;优于&#…

二叉树可视化

二叉树可视化 运行演示代码和程序已上传二叉树知识平衡二叉树红黑树最优二叉搜索树哈夫曼树KD树B树和B树 参考 运行演示 学习二叉树总是脑补图像&#xff0c;实在是恶心&#xff0c;就想写一个能可视化的二叉树&#xff0c;结果没控制好&#xff0c;功能越想越多&#xff0c;先…

第2集《忏悔法门》

请大家打开讲义第五面&#xff0c; 这一科讲到甲二&#xff0c;正式说明忏悔的方法。「忏悔的方法」有三个主题&#xff0c;第一个是「思惟业果的道理」&#xff0c;这当中有「理论的思惟」&#xff0c;跟「事相的观察」。 理论的思惟是说&#xff1a;今天当我们造了一个业&a…

asp.net core通过读取配置文件来动态生成接口

如果希望接口是每次通过配置文件生成的&#xff0c;这样设计一些低代码的方式来获得接口。 系统目录结构&#xff1a; 启动配置代码&#xff1a; using Microsoft.AspNetCore.Hosting; using System.Configuration; using System.Data.Entity; using Swashbuckle.AspNetCore.…

线性代数:线性方程组

目录 一、线性方程组概念 二、消元法求线性方程组 三、系数阵的秩与线性方程组的解 无解 唯一解 无数解 相关定理 一、线性方程组概念 二、消元法求线性方程组 三、系数阵的秩与线性方程组的解 无解 唯一解 无数解 相关定理

stack_queue:三个关键注意事项解析

一、stack与容器 template<class T, class Container> class stack { private:Container _con; };Container 为容器&#xff0c;在实例化创建对象时&#xff0c;我们可以传 vector<T> 或 list<T> 等作为栈的底层。 举例&#xff1a; int main() {stack<i…

自动化诊断测试之CANoe.DIVA入门

目录 0 前言 1 CANoe.DIVA基础 2 CANoe.DIVA TIPs 0 前言 写在前面&#xff1a;如对本文有任何疑问欢迎评论区讨论&#xff0c;希望和大家一起进步。同时HIL测试群欢迎大家加入如有需要也可私信我拉你。VT和DIVA都可以做UDS的自动化测试&#xff0c;但相对VT来说使用DIVA生成…

Python中的变量命名规则

Python 变量命名规则 1. 要具有描述性 2.变量名只能是&#xff1a;数字&#xff0c;字母组成&#xff0c;不可以是空格或特殊字符&#xff0c;如&#xff1a;(#&#xff1f;。&#xff0c;&#xffe5;$*~!&)等 3.不能是中文 4.不能以数字开头 5.保留字符是不能被使用…

从MySQL到TiDB:兼容性全解析

MySQL 在高并发和大数据量场景下&#xff0c;单个实例的扩展性有限。而 TiDB 作为一款分布式NewSQL数据库&#xff0c;设计之初就支持水平扩展&#xff08;Scale-Out&#xff09;&#xff0c;通过增加节点来线性提升处理能力和存储容量&#xff0c;能够很好地应对大规模数据和高…

pdmodel从动态模型转成静态onnx

1.下载项目 git clone https://github.com/jiangjiajun/PaddleUtils.git 2.新建两个新的文件夹 第一个文件夹放两个必要文件 第二个文件夹可以设置为空&#xff0c;用来存放转换后的模型 如图&#xff1a; 3.在终端运行 python paddle/paddle_infer_shape.py --model_dir …

应对手机数据丢失的5大安卓数据恢复软件

我们都去过那里。您的手机上的数据丢失了&#xff0c;现在无法恢复。这尤其令人恐惧&#xff0c;因为我们的手机上都有如此多的信息。从图片、应用程序、个人信息&#xff0c;甚至是来自可能已不复存在的亲人的短信和语音邮件。这种情况确实发生了&#xff0c;而且也不仅仅是An…

C系列-柔性数组

&#x1f308;个人主页: 会编程的果子君 ​&#x1f4ab;个人格言:“成为自己未来的主人~” 目录 ​编辑 柔性数组 柔性数组的特点 柔性数组的使用 柔性数组的优势 柔性数组 也许你从来没有听说过柔性数组这个概念&#xff0c;但是它确实是存在的&#xff0c;C99中&#…

AJAX-常用请求方法和数据提交

常用请求方法 请求方法&#xff1a;对服务器资源&#xff0c;要执行的操作 axios请求配置 url&#xff1a;请求的URL网址 method&#xff1a;请求的方法&#xff0c;如果是GET可以省略&#xff1b;不用区分大小写 data&#xff1a;提交数据 axios({url:目标资源地址,method…

【第二十二课】最短路:多源最短路floyd算法(acwing-852 spfa判断是否存在负环 / acwing-854 / c++代码)

目录 acwing-852 代码如下 一些解释 acwing-854 foyld算法思想 代码如下 一些解释 acwing-852 在spfa求最短路的算法基础上进行修改。 代码如下 #include<iostream> #include<cstring> #include<algorithm> #include<queue> using names…

Unity animator 动画实现指定时间开始播放

在我们使用Unity帧动画时&#xff0c;如用到同一个帧动画的部分动画&#xff0c;那么我们可以考虑用指定播放时间的方法实现。 如我在场景中创建一个2D帧动画&#xff0c;并创建一个2D对象使用该帧动画。 然后复制该2D对象&#xff0c;并创建一个控制脚本GameController1.cs&a…

[每周一更]-(第86期):NLP-实战操作-文本分类

NLP文本分类的应用场景 医疗领域 - 病历自动摘要&#xff1a; 应用&#xff1a; 利用NLP技术从医疗文档中自动生成病历摘要&#xff0c;以帮助医生更快速地了解患者的状况。 法律领域 - 法律文件分类&#xff1a; 应用&#xff1a; 使用文本分类技术自动分类法律文件&#xf…