教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> > 数学> 4--运算符重载

4--运算符重载

上传者:曹亚菲
|
上传时间:2015-05-07
|
次下载

4--运算符重载

运算符重载

运算符重载习题

一、选择题

1、下面关于运算符重载的说法中,错误的是( )。

A、可以对C++所有运算符进行重载

B、运算符重载保持固有的结合性和优先级顺序

C、运算符重载不能改变操作数的个数

D、在运算符函数中,不能使用缺省的参数值

2、下列运算符能被重载的是( )。

A、:: B、?: C、. D、%

3、下列叙述正确的是( )。

A、运算符重载函数只能是一个成员函数

B、运算符重载函数既可以是一个成员函数,也可以是友元函数

C、运算符重载函数只能是一个非成员函数

D、运算符重载函数只能是友元函数

4、下列叙述不正确的是( )。

A、利用成员函数重载二元运算符时,参数表中的参数必须为两个

B、利用成员函数重载二元运算符时,成员函数的this指针所指向的对象作为运算符的左操作数

C、利用成员函数重载二元运算符时,参数表中的参数作为此运算符的右操作数

D、运算符重载时不能改变运算符的语法结构

5、为了区分一元运算符的前缀和后缀运算,在后缀运算符进行重载时,额外添加一个参数,其类型是( )。

A、void B、char C、int D、float

6、下列能正确重载运算符的友元函数原型是( )。

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、下列叙述正确的是( )。

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 void operator++( ); //A

void show( ) { cout<<a<<’\n’<<b; }

};

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( )

{ cout<<a<<’\t’<<b; }

};

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( ) { cout<<n<<’\n’; }

};

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 bb=0) { a=aa; b=bb; }

friend void operator++(B &b ); void show( ) { cout<<a<<’\n’<<b; } };

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( ) { cout<<value<<’\n’; } int value;

};

I I ::operator++( )

{ value++;

return *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( ) { cout<<st; }

};

String ::String( )

{ st=’\0’; }

String ::String(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;

public:

array( ) { num=0; p=0; }

array (int n, float *a)

{ num=n;

if(num= =0) p=0;

else { p=new float[num];

for(int i=0; i<n; i++)

p[i]=a[i];

}

}

~array( ) { if(p) delete []p; }

array& operator=(array &arr)

{ if(num= =arr.num)

{ for(int i=0; i<num; i++)

运算符重载

p[i]=_________;

}

else { if(p) delete []p;

p=new float[arr.num];

num=arr.num;

for(int i=0; i<num; i++) p[i]=arr.p[i];

}

return _________;

}

void add(float x)

{ num++;

float *pt=new float[num];

for(int i=0; i<num-1;i++) pt[i]=p[i];

pt[________ ]=x;

if(p) delete []p;

__________;

}

void show( )

{ for(int i=0; i<num; i++)

cout<<p[i]<<’\t’;

cout<<endl;

}

};

void main( )

{ float x[4]={10,11,12,13};

array a1(2,x), a2;

a2=a1; a1.show( ); a2.show( );

a2.add(14); a2.add(35); a2.show( );

}

8、下列程序第一行输出结果为8,第二行输出结果为9,请完善程序。 class B

{ int a,b;

public:

B(int aa=0,int bb=0) { a=aa; b=bb; }

________ operator+( B b,int x);

void show( ) { cout<<a<<’\n’<<b; }

};

B operator+( B b, int x)

{ B r;

r.a=__________;

r.b=__________;

return r;

}

void main( )

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注

只有梦想一辈子不会放弃你
东财17春《人力资源管理X》在线作业二(随机)满分标准答案
24、寓言两则
乙炔炔烃2
广深沿江高速公路可行性研究报告-广州中撰咨询
参观动物园(语言)
广州大城云山花园项目二期可行性研究报告-广州中撰咨询
少儿英语学习误区有哪些
第七章 无线电领航系统Word
反测验
论旭鹏有限公司的账面价值与内在价值的偏离
微课 社会技能拓展之人际沟通
幼儿园教育指导纲要课件.Wordx
广州瀚阳钢铁配套项目可行性研究报告-广州中撰咨询
《幸福家庭秀》少儿电视节目策划Word
黑龙江2016年上半年农村信用社招聘公共基础知识:法律部分刑法策略考试试卷答案
东财17春《毛泽东思想概论》在线作业一(随机)满分标准答案
2017年6月西南大学网络与继续教育学院 建筑工程项目审计【1061】答案
行政单位会计课件Word
帕累托最优——从经济学的角度看节假日酒店房价调整
社会分层与体育锻炼关系的实证研究_以部分城市为例的回归模型验证_韩秋红
反思:罚站带给我的启发
少儿如何从零开始学口语
冯雪峰与_文艺报_事件_吴中杰
参加建党90周年活动有感
师者,做更好的自己
双鸭山一中2014年高二历史上学期期中试题(带答案)
输送血液的泵--心脏(第二课时).Word
动漫对青少年的影响Word
CNAS 2016年度最新--管理体系认证业务范围分类内容说明(01-03类别)

网友关注视频

第8课 对称剪纸_第一课时(二等奖)(沪书画版二年级上册)_T3784187
30.3 由不共线三点的坐标确定二次函数_第一课时(市一等奖)(冀教版九年级下册)_T144342
外研版英语七年级下册module3 unit1第二课时
【部编】人教版语文七年级下册《老山界》优质课教学视频+PPT课件+教案,安徽省
河南省名校课堂七年级下册英语第一课(2020年2月10日)
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,湖北省
3月2日小学二年级数学下册(数一数)
冀教版英语四年级下册第二课
19 爱护鸟类_第一课时(二等奖)(桂美版二年级下册)_T3763925
沪教版八年级下册数学练习册21.4(1)无理方程P18
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
冀教版小学数学二年级下册1
第五单元 民族艺术的瑰宝_15. 多姿多彩的民族服饰_第二课时(市一等奖)(岭南版六年级上册)_T129830
3.2 数学二年级下册第二单元 表内除法(一)整理和复习 李菲菲
每天日常投篮练习第一天森哥打卡上脚 Nike PG 2 如何调整运球跳投手感?
北师大版小学数学四年级下册第15课小数乘小数一
沪教版八年级下册数学练习册20.4(2)一次函数的应用2P8
《空中课堂》二年级下册 数学第一单元第1课时
冀教版小学英语四年级下册Lesson2授课视频
化学九年级下册全册同步 人教版 第25集 生活中常见的盐(二)
沪教版八年级下次数学练习册21.4(2)无理方程P19
苏科版数学八年级下册9.2《中心对称和中心对称图形》
化学九年级下册全册同步 人教版 第18集 常见的酸和碱(二)
二年级下册数学第三课 搭一搭⚖⚖
苏科版八年级数学下册7.2《统计图的选用》
外研版英语七年级下册module1unit3名词性物主代词讲解
沪教版八年级下册数学练习册21.3(3)分式方程P17
外研版英语七年级下册module3 unit2第二课时
沪教版牛津小学英语(深圳用) 四年级下册 Unit 7
冀教版小学数学二年级下册第二单元《租船问题》