运算符重载.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《运算符重载.doc》由会员分享,可在线阅读,更多相关《运算符重载.doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、运算符重载习题一、 选择题1、下面关于运算符重载的说法中,错误的是()。A、可以对C+所有运算符进行重载B、运算符重载保持固有的结合性和优先级顺序C、运算符重载不能改变操作数的个数D、在运算符函数中,不能使用缺省的参数值2、下列运算符能被重载的是()。A、: B、?: C、. D、%3、下列叙述正确的是()。A、运算符重载函数只能是一个成员函数B、运算符重载函数既可以是一个成员函数,也可以是友元函数C、运算符重载函数只能是一个非成员函数D、运算符重载函数只能是友元函数4、下列叙述不正确的是()。A、利用成员函数重载二元运算符时,参数表中的参数必须为两个B、利用成员函数重载二元运算符时,成员函数
2、的this指针所指向的对象作为运算符的左操作数C、利用成员函数重载二元运算符时,参数表中的参数作为此运算符的右操作数D、运算符重载时不能改变运算符的语法结构5、为了区分一元运算符的前缀和后缀运算,在后缀运算符进行重载时,额外添加一个参数,其类型是()。A、void B、char C、int D、float6、下列能正确重载运算符的友元函数原型是()。A、friend B operator?: ( ); B、friend B operator+(int x);C、friend B operator+(B b); D、friend B operator+(B b, B a);7、下列叙述正确的是(
3、)。 class B int a,b; public: B(int aa=0, int bb=0) a=aa; b=bb; B operator+ ( int x ) /A B r; r.a=a+x; r.b=b+x; return r; ; void main( ) B x(3,5), y(8,4), z1, z2; z1=x+5; z2=10+y;/B A、A行有错误 B、B行有错误C、A行和B行都有错误 D、A行和B行都没有错误8、下列叙述正确的是()。 class B int a,b; public: B(int aa=0, int bb=0) a=aa; b=bb; friend v
4、oid operator+( ); /A void show( ) coutanb; ; friend void operator+( ) /B A、A行有错误 B、B行有错误C、A行和B行都有错误 D、A行和B行都没有错误二、填空题1、运算符有两种实现方法,一种是通过友元函数来实现,另一种通过(类成员)函数来实现。2、下列程序的运行结果是()。11 9 class point int a,b; public: point( int aa, int bb ) a=aa; b=bb; void operator +=(point &p) a+=p.a; b+=p.b; void show( )
5、coutatb; ; void main( ) point p1(3,5), p2(8,4); p1+=p2; p1.show( ); 3、下列程序的运行结果是()。 class S int n; public: S(int i) n=i; operator +( ) n+=5; operator+(int) n+=2; void show( ) coutnn; ; void main( ) S A(5), B(5); +A; B+; A.show( ); B.show( ); 4、下列程序的运行结果为()。 class B int a,b; public: B(int aa=0, int b
6、b=0) a=aa; b=bb; friend void operator+(B &b ); void show( ) coutanb; ; void operator+(B &b) c.a+=2; c.b+=5; void main( ) B x(3,5); +x; x.show( ); 5、下列程序的运行结果为()。 class I public: I(int x) value=x; I operator+( ); I operator+(int); void show( ) coutvaluen; int value; ; I I :operator+( ) value+; return
7、 *this; I I :operator+(int) I temp(*this); value+; return temp; void main( ) I n(20); +(+n); n.show( ); 6、下列程序的功能是通过重载运算符“”,实现字符串的比较运算,请完善程序。 class String char *st; public: int operator= =(String &); String( ); String(char *); String( ); void show( ) coutst; ; String :String( ) st=0; String :String(
8、char *s) st=new char_ ; strcpy(st,s); String :String( ) delete _; int String :operator= =(_ &tar) return strcmp(_, tar.st) = =0; void main( ) String youname(“zhang”); String myname(“Lou”); cout(myname= = youname); 7、以下程序实现动态数组类的功能,通过重载“”实现动态数组对象的赋值,add函数实现元素的追加,试完成该程序。 class array int num; float *p;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运算 重载
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内