教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> > 数学> 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月月考生物试卷

网友关注

新疆公务员行测题库:行测每日一练常识判断练习题答案08.29
新疆公务员申论每周一练:PPP模式(政府和社会资本合作共建基础设施)
新疆公务员考试行测题库:行测每日一练判断推理练习题答案08.23
新疆公务员考试行测题库:行测每日一练数量关系练习题答案09.08
新疆公务员考试行测题库:行测每日一练判断推理练习题08.30
新疆公务员考试行测题库:行测每日一练言语理解与表达练习题答案09.11
新疆公务员考试行测题库:行测每日一练言语理解与表达练习题答案08.14
新疆公务员考试行测题库:行测每日一练判断推理练习题08.16
新疆公务员考试行测题库:行测每日一练判断推理练习题09.13
新疆公务员考试行测题库:行测每日一练数量关系练习题08.25
新疆公务员考试行测题库:行测每日一练常识判断练习题答案09.05
新疆公务员考试行测题库:行测每日一练资料分析练习题答案08.17
新疆公务员行测题库:行测每日一练数量关系练习题08.18
新疆公务员行测题库:行测每日一练常识判断练习题08.29
新疆公务员考试行测题库:行测每日一练资料分析练习题答案08.31
新疆公务员考试行测题库:行测每日一练常识判断练习题答案09.12
新疆公务员考试行测题库:行测每日一练言语理解与表达练习题09.04
新疆公务员考试行测题库:行测每日一练常识判断练习题09.12
新疆公务员考试行测题库:行测每日一练言语理解与表达练习题答案08.21
新疆公务员考试行测题库:行测每日一练判断推理练习题答案08.16
新疆公务员考试申论每周一练:人工智能让大量人员失业?
新疆公务员考试行测题库:行测每日一练言语理解与表达练习题答案09.04
新疆公务员考试行测题库:行测每日一练数量关系练习题09.01
新疆公务员考试行测题库:行测每日一练常识判断练习题08.15
新疆公务员考试行测题库:行测每日一练资料分析练习题答案09.07
新疆公务员考试行测题库:行测每日一练判断推理练习题答案08.30
新疆公务员考试行测题库:行测每日一练常识判断练习题答案08.22
新疆公务员考试行测题库:行测每日一练数量关系练习题答案08.25
新疆公务员考试行测题库:行测每日一练言语理解与表达练习题答案08.28
新疆公务员考试行测题库:行测每日一练常识判断练习题08.22

网友关注视频

北师大版八年级物理下册 第六章 常见的光学仪器(二)探究凸透镜成像的规律
冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣
苏教版二年级下册数学《认识东、南、西、北》
第8课 对称剪纸_第一课时(二等奖)(沪书画版二年级上册)_T3784187
沪教版八年级下次数学练习册21.4(2)无理方程P19
北师大版数学四年级下册3.4包装
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
冀教版小学数学二年级下册第二单元《余数和除数的关系》
沪教版八年级下册数学练习册21.3(2)分式方程P15
沪教版八年级下册数学练习册21.4(1)无理方程P18
三年级英语单词记忆下册(沪教版)第一二单元复习
第五单元 民族艺术的瑰宝_15. 多姿多彩的民族服饰_第二课时(市一等奖)(岭南版六年级上册)_T129830
青岛版教材五年级下册第四单元(走进军营——方向与位置)用数对确定位置(一等奖)
外研版英语三起6年级下册(14版)Module3 Unit2
六年级英语下册上海牛津版教材讲解 U1单词
二年级下册数学第二课
飞翔英语—冀教版(三起)英语三年级下册Lesson 2 Cats and Dogs
外研版英语三起5年级下册(14版)Module3 Unit2
精品·同步课程 历史 八年级 上册 第15集 近代科学技术与思想文化
沪教版牛津小学英语(深圳用) 五年级下册 Unit 7
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,湖北省
外研版英语七年级下册module3 unit2第一课时
第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T3751175
化学九年级下册全册同步 人教版 第18集 常见的酸和碱(二)
沪教版牛津小学英语(深圳用) 四年级下册 Unit 8
冀教版小学数学二年级下册1
3.2 数学二年级下册第二单元 表内除法(一)整理和复习 李菲菲
第12章 圆锥曲线_12.7 抛物线的标准方程_第一课时(特等奖)(沪教版高二下册)_T274713
沪教版牛津小学英语(深圳用) 四年级下册 Unit 4
沪教版牛津小学英语(深圳用) 六年级下册 Unit 7