[计算机类试卷]国家二级C++机试(运算符重载)模拟试卷7及答案与解析.doc
《[计算机类试卷]国家二级C++机试(运算符重载)模拟试卷7及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C++机试(运算符重载)模拟试卷7及答案与解析.doc(17页珍藏版)》请在麦多课文档分享上搜索。
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) + - + -
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 机试 运算 重载 模拟 答案 解析 DOC
