C运算符重载习题.docx
- 文档编号:24168872
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:14
- 大小:17.02KB
C运算符重载习题.docx
《C运算符重载习题.docx》由会员分享,可在线阅读,更多相关《C运算符重载习题.docx(14页珍藏版)》请在冰豆网上搜索。
C运算符重载习题
一、选择题
一、下面关于运算符重载的说法中,错误的选项是( )。
A、能够对C++所有运算符进行重载
B、运算符重载维持固有的结合性和优先级顺序
C、运算符重载不能改变操作数的个数
D、在运算符函数中,不能利用缺省的参数值
二、以下运算符能被重载的是( )。
A、:
:
B、?
:
C、.
D、%
3、以下表达正确的选项是( )。
A、运算符重载函数只能是一个成员函数
B、运算符重载函数既能够是一个成员函数,也能够是友元函数
C、运算符重载函数只能是一个非成员函数
D、运算符重载函数只能是友元函数
4、以下表达不正确的选项是( )。
A、利用成员函数重载二元运算符时,参数表中的参数必需为两个
B、利用成员函数重载二元运算符时,成员函数的this指针所指向的对象作为运算符的左操作数
C、利用成员函数重载二元运算符时,参数表中的参数作为此运算符的右操作数
D、运算符重载时不能改变运算符的语法结构
五、为了区分一元运算符的前缀和后缀运算,在后缀运算符进行重载时,额外添加一个参数,其类型是( )。
A、void
B、char
C、int
D、float
六、以下能正确重载运算符的友元函数原型是( )。
A、friendBoperator?
:
();
B、friendBoperator+(intx);
C、friendBoperator+(Bb);
D、friendBoperator+(Bb,Ba);
7、以下表达正确的选项是( )。
classB
{inta,b;
public:
B(intaa=0,intbb=0){a=aa;b=bb;}
Boperator+(intx)//A
{Br;
=a+x;
=b+x;
returnr;
}
};
voidmain()
{Bx(3,5),y(8,4),z1,z2;
z1=x+5;
z2=10+y; //B
}
A、A行有错误
B、B行有错误
C、A行和B行都有错误
D、A行和B行都没有错误
八、以下表达正确的选项是( )。
classB
{inta,b;
public:
B(intaa=0,intbb=0){a=aa;b=bb;}
friendvoidoperator++();//A
voidshow(){cout< }; friendvoidoperator++()//B {…} A、A行有错误 B、B行有错误 C、A行和B行都有错误 D、A行和B行都没有错误 二、填空题 一、运算符有两种实现方式,一种是通过友元函数来实现,另一种通过( )函数来实现。 二、以下程序的运行结果是( )。 classpoint {inta,b; public: point(intaa,intbb){a=aa;b=bb;} voidoperator+=(point&p) {a+=;b+=;} voidshow() {cout< }; voidmain() {pointp1(3,5),p2(8,4); p1+=p2; (); } 3、以下程序的运行结果是( )。 classS {intn; public: S(inti){n=i;} operator++(){n+=5;} operator++(int){n+=2;} voidshow(){cout< }; voidmain() {SA(5),B(5); ++A;B++; (); (); } 4、以下程序的运行结果为( )。 classB {inta,b; public: B(intaa=0,intbb=0){a=aa;b=bb;} friendvoidoperator++(B&b);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运算 重载 习题