c++运算符的重载习题答案

c++运算符的重载习题答案

ID:14562845

大小:54.00 KB

页数:6页

时间:2018-07-29

c++运算符的重载习题答案_第1页
c++运算符的重载习题答案_第2页
c++运算符的重载习题答案_第3页
c++运算符的重载习题答案_第4页
c++运算符的重载习题答案_第5页
资源描述:

《c++运算符的重载习题答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.概念填空题1.1运算符重载是对已有的运算符赋予多重含义,使同一个运算符在作用于不同类型对象时导致不同的行为。运算符重载的实质是函数重载,是类的多态性特征。1.2可以定义一种特殊的类型转换函数,将类的对象转换成基本数据类型的数据。但是这种类型转换函数只能定义为一个类的成员函数而不能定义为类的友元函数。类类型转换函数既没有参数,也不显式给出返回类型。类类型函数中必须有return表达式的语句返回函数值。一个类可以定义多个类类型转换函数。1.3运算符重载时其函数名由operator运算符构成。成员函数重载双目运算符时

2、,左操作数是对象,右操作数是函数参数。2.简答题2.2简述运算符重载的规则。2.2简述重载单目运算符++、--,前置和后置时的差别。2.3C++中重运算符是否都可以重载?是否都可以重载成类的成员函数?是否都可以重载成类的友元函数?2.4构造函数作为类型转换函数的条件是什么。3.选择题3.1在下列运算符中,不能重载的是(B)A.!B.sizeofC.newD.delete3.2不能用友员函数重载的是(A)。A.=B.==C.<=D.++3.3下列函数中,不能重载运算符的函数是(B)。A.成员函数B.构造函数C.普通函

3、数D.友员函数3.4如果表达式++i*k时中的”++”和”*”都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可表示为(B)。A.operator*(i.operator++(),k)B.operator*(operator++(i),k)C.i.operator++().operator*(k)D.k.operator*(operator++(i))3.5已知在一个类体中包含如下函数原型:VOLUMEoperator-(VOLUME)const;下列关于这个函数的叙述中,错误的是(B)。A.这是运算符-

4、的重载运算符函数B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变数据成员的值3.6在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是(C)。A.operator+有两个参数,operator*有两个参数B.operator+有两个参数,operator*有一个参数C.operator+有一个参数,operator*有两个参数D.operator+有一个参数,operator*有一个参数4.写出下列程序运行结果4.1#include<

5、iostream>#usingnamesoacestd;classT{public:T(){a=0;b=0;c=0;}T(inti,intj,intk){a=i;b=j;c=k;}voidget(int&i,int&j,int&k){i=a;j=b;k=c;}Toperator*(Tobj);private:inta,b,c;};TT::operator*(Tobj){Ttempobj;tempobj.a=a*obj.a;tempobj.b=b*obj.b;tempobj.c=c*obj.c;returntempo

6、bj;}intmain(){Tobj1(1,2,3),obj2(5,5,5),obj3;inta,b,c;obj3=obj1*obj2;obj3.get(a,b,c);cout<<”(obj1*obj2):t”<<”a=”<

7、1*obj2):a=5b=10c=15(obj2*obj3):a=25b=50c=755.编程题5.1将第4章练习5.7的分数类Fraction的算术运算改写成运算符重载函数,使分数类能实现通常的分数+、-、*、/等运算。#includeusingnamespacestd;classFraction{intnumerator,denominator;intcommon_divisor();//计算最大公约数voidcontracted();//分数化简public:Fraction(int=0,

8、int=1);Fraction(Fraction&);Fractionoperator+(Fraction);Fractionoperator-(Fraction);Fractionoperator*(Fraction);Fractionoperator/(Fraction);voidSet(int=0,int=1);voiddisp(){cout<<"fr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。