ImageVerifierCode 换一换
格式:DOC , 页数:17 ,大小:48.50KB ,
资源ID:497786      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-497786.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级C++机试(运算符重载)模拟试卷7及答案与解析.doc)为本站会员(rimleave225)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[计算机类试卷]国家二级C++机试(运算符重载)模拟试卷7及答案与解析.doc

1、国家二级 C+机试(运算符重载)模拟试卷 7及答案与解析 一、选择题 1 若在表达式 y x中, “ “是作为成员函数重载的运算符,则该表达式还可以表示为 ( )。 ( A) x operator (y) ( B) operator (x, y) ( C) y operator (x) ( D) operator (y, x) 2 有类定义如下: class Type public: Type(int i=0); Type operator-(int); friend Type operator+(Type, Type); private: int val; ; 若有对象定义 Type cl;

2、则下列语句序列中,错误的是 ( )。 ( A) Type(3)+cl: ( B) cl+Type(3); ( C) 3-cl; ( D) cl-3; 3 若要对 Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。 ( A) Data+(Data); ( B) Data operator+Data; ( C) Data+operatorData; ( D) operator+(Data, Data); 4 若要对类 BigNumber中重载的类型转换运算符 long进行声明,下列选项中正确的是 ( )。 ( A) operator long() const; ( B) op

3、erator long(bigNumber); ( C) long operator long() const; ( D) long operator long(BigNumber); 5 有如下类模板定义: template class BigNumber long n; public: BigNumber(T i): n(i) BigNumber operator+(BigNumber b) return BigNumber(n+b n); 己知 b1、 b2是 BigNumber的两个对象,则下列表达式中错误的是 ( )。 ( A) b1+b2 ( B) b1+3 ( C) 3+b1 (

4、 D) 3+3 6 为类 Matrix重载下列运算符时,只能作为 Matrix类成员函数重载的运算符是( )。 ( A) + ( B) = ( C) ,使得程序中可以 “cinobj; ”形式输入MyClass类的对象 obj,则横线处的声明语句应为 ( )。 ( A) friend istream&operator(istream&is, MyClass&a); ( B) friend istream&operator(istream&is, MyClass a); ( C) istream&operator(istream&is, MyClass&a); ( D) istream&oper

5、ator(istream&is, MyClass a); 8 若为 Fraction类重载前增 1运算符 +,应在类体中将其声明为 ( )。 ( A) Fraction&operator+(); ( B) Fraction&operator+(int); ( C) friend Fraction&operator+(); ( D) friend Fraction&operator+(int); 9 若需要为 XV类重载乘法运算符,运算结果为 XV类型,在将其声明为类的成员函数时,下列原型声明正确的是 ( )。 ( A) XV operator*(XV, XV); ( B) XV*(XV); (

6、 C) operator*(XV); ( D) XV operator*(XV); 10 已知类 MyClock中未显式定义构造函数,并重载了加法运算符,使得下面的语句序列能够正确执行 : MyClock c1, c2; c2=c1+10; 由此可知:为类 MyClock重载的 “+”运算符函数的声明是 ( )。 ( A) friend MyClock operator+(MyClock, int); ( B) friend MyClock operator+(MyClock, MyClock); ( C) fiend MyClock operator+(int, MyClock); ( D)

7、 MyClock operator+(MyClock); 11 已知 将运算符 “+”和 “*”作为类 Complex的成员函数重载,设 c1和 c2是类Complex的对象,则表达式 c1+c2*c1等价于 ( )。 ( A) c1 operator*(c2 operator+(c1) ( B) c1 operator+(c2 operator*(c1) ( C) c1 operator*(c1 operator+(c2) ( D) c2 operator+(c1 operator*(c1) 12 下列运算符不能重载为友元函数的是 ( )。 ( A) = () - ( B) + - + -

8、( C) = data;中, cin是 ( )。 ( A) C+的关键字 ( B)类名 ( C)对象名 ( D)函数名 17 如果利用 C+流进行输入输出,下面的叙述中正确的是 ( )。 ( A)只能借助于流对象进行输入输出 ( B)只能进行格式化输入输出 ( C)只能借助于 cin和 cout进行输入输出 ( D)只能使用运算符 和 A表达式可输出字符 A ( B) eof()函数可以检测是否到达文件尾 ( C)对磁盘文件进行流操作时,必须包含头文件 fstream ( D)以 ios base: out模式打开的文件不存在时,将自动建立一个新文件 21 在 C+中, cin是一个 ( )。

9、 ( A)类 ( B)对象 ( C)模板 ( D)函数 22 下列关于 C+预定义流对象的叙述中,正确的是 ( )。 ( A) cin是 C+预定义的标准输入流对象 ( B) cin是 C+预定义的标准输入流类 ( C) cout是 C+预定义的标准输入流对象 ( D) cout是 C+预定义的标准输入流类 23 C+系统预定了 4个用于标准数据流的对象,下列选项中不属于此类对象的是( )。 ( A) cout ( B) cin ( C) cerr ( D) cset 24 要利用 C+流实现输入输出的各种格式控制,必须在程序中包含的头文件是( )。 ( A) fstream ( B) ist

10、reara ( C) ostream ( D) iomaniP 25 在 C+中,打开一个 文件时与该文件建立联系的是 ( )。 ( A)流对象 ( B)模板 ( C)函数 ( D)类 26 下列关于输入输出流的叙述中,正确的是 ( )。 ( A)一个文件流可以与一个数据文件相联系 ( B) cin是专门从键盘输入数据的输入流类 ( C)流运算符 using namespace std; int main() cout fill(*); cout width(6); cout fill(#); cout型, int型不能和别的型做运算。 【知识模块】 运算符重载 6 【正确答案】 B 【试题解

11、析】 在 C+中, =、 、 ()、 -以及所有的类型转换运算符只能作为成员函数重载。 【知识模块】 运算符重载 7 【正确答案】 A 【试题解析】 C+的输 入运算符 作为非类成员函数重载。在一个类中,可将输入运算符 声明为友元函数,在类 MyClass重载输入运算符 的形式如选项 A)所示。 【知识模块】 运算符重载 8 【正确答案】 A 【试题解析】 在类 Fraction中重载前增 1运算符 +时,其声明形式为Fraction&operator+();在类 Fraction中重载后增 1运算符 +时,其声明形式为Fraction &operator+(int);。 【知识模块】 运算符

12、重载 9 【正确答案】 D 【试题解析】 “*”是一个二元运算符,在作为成员函数重载时参数表中只有一个参数,对应于第二个操作数,而第一个操作数就是对象本身,仅以 this指针的形式隐藏在参数表中。 【知识模块】 运算符重载 10 【正确答案】 A 【试题解析】 由表达式 c2=c1+10可知,在对 “+”进行重载时,第一操作数是Myclock类的对象,而第二操作数是一个整型数据。 【知识模块】 运算符重载 11 【正确答案】 B 【试题解析】 表达式 c1+c2*c1的含义是 c1加上 c2与 c1的积。 【知识模块】 运算 符重载 12 【正确答案】 A 【试题解析】 此题考查的是运算符重载

13、的概念。 C+语言规定, =、 、 ()、 -以及所有的类型转换运算符只能作为成员函数重载,如果要重载为友元函数就必须重载为非成员函数。 【知识模块】 运算符重载 13 【正确答案】 D 【试题解析】 =、 、 ()、 -以及所有的类型转换运算符只能作为成员函数重载,而且不能是针对枚举类型操作数的重载。 【知识模块】 运算符重载 14 【正确答案】 C 【试题解析】 赋值运算符只能作为类的成员函数重载 。 【知识模块】 运算符重载 15 【正确答案】 A 【试题解析】 此题考查的是 C+流的概念。从输入流中提取数据称为提取操作,把表达式插入到输出流中的操作称为插入操作,故选项 B错误; cin

14、是一个预定义的输入流对象而不是流类,故选项 c错误;输入输出流中没有 open成员函数,故选项 D错误。 【知识模块】 C+流 16 【正确答案】 C 【试题解析】 此题考查的是预定义流对象。 C+有 4个预定义的流对象: cin一标准输入; cout一标准输出; cerr一标准出错信息输出; clog一带缓冲的标准出错信息输出。 【知识模块】 C+流 17 【正确答案】 A 【试题解析】 此题考查的知识点是 C+流。利用 C+流既可以进行有格式输入输出,也可以进行无格式输入输出,所以选项 B错误: C+的 4个预定义的流对象为: cin一标准输入, cout一标准输出, cerr一标准出错信

15、息输出, clog一带缓冲的标准出错信息输出,选项 C错误; C+流除了可以使用提取 “”插入 “称之为提取运算符,它的功能是从输入流中提取数据赋值给一个变量。 ”。 【知识模块】 C+流 29 【正确答案】 A 【试 题解析】 此题考查的是 I O格式化输出。函数 width(int n)设置输入输出宽度,当实际数据宽度小于制定的宽度时,多余的位置用填充字符填满;当实际数据宽度大于设置的宽度时,仍按实际宽度输出;函数 fill(char c)用来设置填充字符。 【知识模块】 C+流 30 【正确答案】 A 【试题解析】 此题考查的是 C+流的概念和 I O的格式化。 cin是类的对象,亦即输入流对象; ifstream是输入文件流类,不能定义一个输出流对象; C选项中最后输出的是字符串 “PQMN”; D选项中 x中字符串 应该是 “Happy new year”。 【知识模块】 C+流

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1