- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
运算符重载自考习题
2000.10
19、重载的运算符仍然保持其原来的优先级、结合性和____________。
25、下面程序希望产生的输出为4+3i,但是运行输出是3+3i,请指出错误并改正
#include iostream.h
class complex {
int real; // 实部
int imag; // 虚部
public:
complex(int r=0,int i=0): real(r),imag(i) {}
void show() { coutreal+imagiendl;}
complex operator++() { real++; return * this; }
};
void main() {
complex c(2,3);
++++c;
c.show();
}
Key: complex operator++() { real++; return * this; }
2001.10
29.下面是类fraction(分数)的定义,其中重载的运算符以分数形式输出结果,例如将三分之二输出为2/3。在横线处填上适当字句。
class fraction{
int den; //分子
int num; //分母
friend ostream operator(ostream,fraction);
…
};
ostream operator (ostream os,fraction fr){
_________;
return _________;
}
29.osfr.den′/′fr.num os
2002.10
6.如果表达式++i*k中的“++”和“*”都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可表示为( )
A.operator*(i.operator++(),k) B.operator*(operator++(i),k)
C.i.operator++().operator*(k) D.k.operator*(operator++(i))
33.写出下面程序的输出结果。
#includeiomanip.h
class FUN{
friend ostream operator (ostream,FUN);
}fun;
ostream operator(ostream os,FUN f){
os.setf(ios::left);
return os;
}
void main()
{
coutsetfill(′*′)setw(10)12345endl;
coutfunsetw(10)54321endl;
}
输出为:
2003.10
3.在下列成对的表达式中,运算符“+”的意义不相同的一对是( )
A.5.0+2.0和5.0+2 B.5.0+2.0和5+2.0
C.5.0+2.0和5+2 D.5+2.0和5.0+2
31.写出下面程序的输出结果:
# includeiostream.h
class FunArray{
int *pa; //指向一个数组空间
int size; //数组元素个数
public:
FunArray(int a[ ],int thesize):pa(a),size(thesize){ }
int Size( ){return size;}
int operator[ ](int index){return pa[index-1];}
};
void main( ){
int s[ ]={3,7,2,1,5,4};
FunArray ma(s,sizeof(s)/sizeof(int));
ma[3]=9;
for(int i=1;i=ma.Size( );i++) coutma[i]?,?
}
2004.10
t3.在下列成对的表达式中,运算结果类型相同的一对是( )
A.9.0/2.0和9.0/2 B.9/2.0和9/2
C.9.0/2和9/2 D.9/2和9.0/2.0
14.如果重载了运算符+,则相应的运算符函数名是___________________。
21.下面的类Complex 定义中有一处错误,如更正了错误,程序的输出是5+8i。#
文档评论(0)