备考计算机二级 C++ 程序设计考试,选择题是不容忽视的重要部分。
今天为大家带来 10 道选择题,聚焦函数与运算符重载的核心考点,助力提升解题能力。
1、下列关于内联函数的叙述中,错误的是( )
A. 调用内联函数的格式与调用一般函数相同
B. 在类体中直接给出函数体的函数是内联函数
C. 编译系统有可能将一个声明为内联的函数处理成非内联函数
D. 只有用 inline 声明的函数才是内联函数
答案:D
分析:类体中定义的函数默认是内联函数,无需显式用 inline,D 选项错误;A、B、C 均正确,故选 D。
2、下列关于运算符重载的叙述中,错误的是( )
A. 有的运算符只能作为成员函数重载
B. 不能为运算符重载函数设置默认参数值
C. 通过运算符重载能够创建新的运算符
D. 有的运算符可以作为非成员函数重载
答案:C
分析:运算符重载不能创建新运算符,只能重定义已有运算符的行为,C 选项错误;A、B、D 均正确,故选 C。
3、下列关于运算符函数的叙述中,错误的是( )
A. 默认的赋值运算符能够实现指针成员的深层复制功能
B. 运算符函数的名称总是以 operator 为前缀
C. 重载类型转换运算符不需要声明返回值类型
D. 不能为重载运算符函数的参数设置默认值
答案:A
分析:默认赋值运算符是浅复制,对于指针成员可能导致 double free 问题,A 选项错误;B、C、D 均正确,故选 A。
4、在对函数进行原型声明时,不需要给出的语法成分是( )
A. 函数名
B. 函数体
C. 函数参数列表
D. 函数返回类型
答案:B
分析:函数原型声明只需说明函数名、返回类型和参数列表,无需函数体,故选 B。
5、有如下函数定义:
void func(int a,int &b) {
a++;
b++;
}
执行下列代码段后:int x=0,y=1; func (x,y); 变量 x 和 y 的值分别是( )
A. 0 和 2
B. 0 和 1
C. 1 和 2
D. 1 和 1
答案:A
分析:a 是值传递,修改不影响 x;b 是引用传递,修改 y 变为 2,x 仍为 0,故选 A。
6、下列各组运算符中,只能重载为成员函数的一组是( )
A. ±/
B. >>=<=
C. =()[]->
D. =-=/=
答案:C
分析:=、()、[]、-> 这四个运算符只能作为成员函数重载,其他运算符可作为非成员函数,故选 C。
7、下列关于函数的叙述中,错误的是( )
A. 一个函数很可能既调用别的函数又被别的函数调用
B. C++ 中函数在使用之前要预先声明
C. 一个函数可以不返回任何值
D. C++ 允许函数定义嵌套
答案:D
分析:C++ 不允许函数嵌套定义,即不能在一个函数内部定义另一个函数,D 选项错误;A、B、C 均正确,故选 D。
8、下列运算符中,不能作为成员函数重载的是( )
A. +
B. =
C. ||
D. <<(流运算符)
答案:D
分析:流运算符 << 通常作为非成员函数重载,以便支持cout<<对象的语法,故选 D。
9、若有函数原型声明为 “void fun (int *x, int &y, int z=3);”,下列叙述中,错误的是( )
A. 调用函数 fun 时必须给出 3 个实参
B. 函数 fun 中有 1 个引用形参
C. 函数 fun 中有 1 个指针形参
D. 函数 fun 中有 1 个形参有默认值
答案:A
分析:z 有默认值 3,调用时可省略第三个实参,A 选项错误;B、C、D 均正确,故选 A。
10、下列运算符中,只能作为类成员函数重载的是( )
A. >>
B. =
C. -
D. ::
答案:B
分析:赋值运算符 = 只能作为成员函数重载,>> 可作为非成员函数,- 可重载为成员或非成员,:: 不能重载,故选 B。
希望这 10 道题能帮助大家对函数与运算符重载知识点有更深入的理解和掌握。如果想要获取完整版 PDF(含二级更多题目题库)


726

被折叠的 条评论
为什么被折叠?



