pintia第四章

pintia第四章,第1张

目录

判断题

选择


判断题

1.对每个可重载的运算符来讲,它既可以重载为友元函数,又可以重载为成员函数,还可以重载为非成员函数。错误;

3.对单目运算符重载为友元函数时,可以说明一个形参。而重载为成员函数时,不能显式说明形参。正确

当重载为成员函数时,双目运算符仅有一个参数。对单目运算符,重载为成员函数时,不能再显式说明参数。重载为成员函数时,总时隐含了一个参数,该参数是this指针。this指针是指向调用该成员函数对象的指针。 

运算符重载函数还可以为友元函数。当重载友元函数时,将没有隐含的参数this指针。这样,对双目运算符,友元函数有2个参数,对单目运算符,友元函数有一个参数。但是,有些运行符不能重载为友元函数,它们是:=,(),[]和->。

7.赋值运算符“ =”只能重载为成员函数。正确

赋值运算符重载函数只能是类的非静态的成员函数 C++规定,赋值运算符重载函数只能是类的非静态的成员函数,不能是静态成员函数,也不能是友元函数。 关于原因,有人说,赋值运算符重载函数往往要返回*this,而无论是静态成员函数还是友元函数都没有this指针。

选择

5.下列关于运算符重载的描述中,( )是正确的。

A.针对<<、>>运算符不可以采用友元函数进行重载; B.针对<<、>>运算符既可以采用成员函数也可以采用友元函数进行重载; C.AB说法均正确; D.ABC均不正确 用重载运算符表示,只能通过友员来实现,如果要用成员函数,则会有cout.operator<<(const F& f),所以这是不可能的.因此只能用友员来实现,operator<<(cout,f) 而cout是ostream型的,因此有以下标准格式.注意不能加const,因为cout是要改变的,会改变里的缓冲成员.

friend ostream& operator<<( ostream& cout, constF&)  //输出运算符的标准重载格式.

friend istream& operator>>(istream& is, F& f){ }   //输入运算符重载标准格式

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/676386.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-19
下一篇2022-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存