胡恩全10.3作业

第二章 引用内联重载

一.选择题

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

A. 函数体含有循环语句

B. 函数体含有递归语句

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

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

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

A. 1和0

B. 1和4

C. 4和0

D. 4和1

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

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

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

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

D. 重载函数名可以不同

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

A. 参数个数

B. 返回类型

C. 参数类型

D. 函数头后有无const

二.填空题

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

2、执行下列代码

string str("HelloC++");

cout<<str.(5,3);

程序的输出结果是___

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

#include <iostream>

#define pi 3.14

_________;

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;

cout << "请输入一个大写字母" << endl;

cin>>a;

int i=32;

if( a>='A'||a<='Z')

a=a+i;

cout<<a<<endl;

}

5、执行下列代码

int i=230;

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

程序的输出结果为___。

三、编程题

3.1 有以下重载函数定义:

void f();

void f(int x);

void f(int m, int n);

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

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

f('A');

f( 5 ) ;

f( 5.5 );

f(10, 20);

f(10, 23.4):

f(10.8, 24.87);

3.2 创建一个函数plus(),它把两个数值加在一起,返回它们的和,提供处理int、doble和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版本的函数传送参数最有效的方式是什么?

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

一、选择题

1.C 2.A 3.C 4.B

二、填空题

1.地址传递或引用传递 2.语句有误,若输出str.substr(5,3)则结果是C++ 3.using namespace std; 4.int i=32;a>='A'&&a<='Z' 5.i=e6

三、编程题

3.1 f('A'); 可与void f(int x);匹配

f( 5 ) ; 可与void f(int x);匹配

f( 5.5 ); 可与void f(double d1, double d2=3.14);匹配

f(10, 20); 可与void f(int m, int n);匹配

f(10, 23.4); 不匹配

f(10.8, 24.87); 可与void f(double d1, double d2=3.14);匹配

3.2 (1)最有效的方式是传递常引用;

(2)不能调用,除非类型转换或是增加一个版本;

2.答题截图

相关推荐
三月微暖寻春笋6 分钟前
【和春笋一起学C++】(七十二)类模板
开发语言·c++·实例·类模板·使用类模板·数组模板
xlq223226 分钟前
全面复习4
c++
释厄6239 分钟前
智能体释放度子集律——文本 ⊂ 音频 ⊂ 视频⊂ 游戏
开发语言·游戏·microsoft·音视频
殷色玫瑰24 分钟前
C++ STL:map 与 set 详解——从底层红黑树到实际应用
c语言·数据结构·c++·算法·visualstudio·rpc
Sarvartha28 分钟前
Object 类
java·开发语言
Tri_Function34 分钟前
背包:从入门到实战
c++
j7~43 分钟前
【C++ 标准项目】发布订阅消息队列 (篇七):项目创建与基础工具模块搭建
开发语言·c++·log4j·uuid·protobuf·helper工具·消息定义类型和交换机类型定义
leisoo80971 小时前
股票筹码分布怎么用获利比例成本区间与集中度实战 IG50免费开源股票数据API接口
开发语言·jvm·数据库·python·开源
Lazionr1 小时前
unordered_map和unordered_set的使用
开发语言·c++·算法
进化中的刀盾兽1 小时前
从零实现 C++ Json-Rpc(九):从 TCP 字节流中拆出完整消息——MuduoBuffer 与 LVProtocol
c++·rpc