单选题运算符函数调用格式的表达式“y/x抖”与表达式“y.operator/(operator++(x,o))”的含义相同,由此可看出( )A“/”和“++”都是作为成员函数重载的B“/”和“++”都是作为非成员函数重载的C“/”是作为成员函数重载的,“++”是作为非成员函数重载的D“/”是作为非成员函数重载的,“++”都是作为成员函数重载的
单选题
运算符函数调用格式的表达式“y/x抖”与表达式“y.operator/(operator++(x,o))”的含义相同,由此可看出( )
A
“/”和“++”都是作为成员函数重载的
B
“/”和“++”都是作为非成员函数重载的
C
“/”是作为成员函数重载的,“++”是作为非成员函数重载的
D
“/”是作为非成员函数重载的,“++”都是作为成员函数重载的
参考解析
解析:
运算符函数有两种调用形式,第一种是像一般函数那样用函数名调用,即y.operator*(z)或者0perator*(y,z);另一种是通过运算符构成表达式,即 y*z。因为“++”运算符既可以作为前缀运算符,又可以作为后缀运算符,所以重载这个运算符时,重载后缀"++”时必须多一个虚拟参数:int。
运算符函数有两种调用形式,第一种是像一般函数那样用函数名调用,即y.operator*(z)或者0perator*(y,z);另一种是通过运算符构成表达式,即 y*z。因为“++”运算符既可以作为前缀运算符,又可以作为后缀运算符,所以重载这个运算符时,重载后缀"++”时必须多一个虚拟参数:int。
相关考题:
下列关于运算符重载的叙述中,错误的是( )。A.有的运算符可以作为非成员函数重载B.所有的运算符都可以通过重载而被赋予新的含义C.不得为重载的运算符函数的参数设置默认值D.有的运算符只能作为成员函数重载
( 24 )己知表达式 ++a 中的 "++" 是作为成员函数重载的运算符,则与十 +a 等效的运算符函数调用形为A ) a .orerator++ ( 1 )B ) operator++ ( a )C ) operator++ ( a , l )D ) a.operator++ ( )
( 33 )下列关于运算符重载的描述中,错误的是A ) :: 运算符不能重载B )类型转换运算符只能作为成员函数重载C )将运算符作为非成员函数重载时必须定义为友元D )重载 [] 运算符应完成 “ 下标访问 ” 操作
运算符函数调用格式的表达式:y/x++与表达式:y.operator/(operator++(x,O))含义相同,由此可看出()。A.“/”和“++”都是作为成员函数重载的B.“/”和“++”都是作为非成员函数重载的C.“/”是作为成员函数重载的,“++”是作为非成员函数重载的D.“/”是作为非成员函数重载的,“++”都是作为成员函数重载的
如果表达式++x/y中,++是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为A.(operator++(x)).operator/(y)B.(operator++(0)).operator/(y)C.operator/((operator++(x,0)),y)D.operator/((operator++(0)),y)
下面关于成员函数重载运算符和友元函数重载运算符相同的是( )。A.成员函数和友元函数可重载的运算符是不相同的B.成员函数和友元函数重载运算符时都需要用到this指针C.成员函数和友元函数重载运算符时都需要声明为公有的D.成员函数和友元函数重载运算符时的参数可能是相同的
如果在表达式++x/y中,++是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为A.(operator++(x) ) .operator/(y)B.(operator++(0) ) .operator/(y)C.operator/((operator++(x,0) ) ,y)D.operator/((operator++(0) ) ,y)
运算符函数调用格式的表达式:y/x++与表达式:y. operator/(operator++(x,0))含义相同,由此可看出()。A.“/”和“++”都是作为成员函数重载的B.“/”和“++”都是作为非成员函数重载的C.“/”是作为成员函数重载的,“++”是作为非成员函数重载的D.“/”是作为非成员函数重载的,“++”都是作为成员函数重载的
如果表达式++x/y中,+ +是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为( )。A.(operator + +(x)).operator/(y)B.(operator + +(0)).operatr/(y)C.operator/((operator + + (x,0)),y)D.operator/((operator + + (0)),y)
如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为A.x.operator++(0).operator*(y);B.operator*(x.operator++(0),y);C.y.operator*(operator++(x,0))D.operator*(operator++(x,0),y)
运算符函数调用格式的表达式y/x++与表达式y.operator/(operator++(x,0))的含义相同,由此可看出( )。A.“/”和“++”都是作为成员函数重载的B.“/”和“++”都是作为非成员函数重载的C.“/”是作为成员函数重载的,“++”是作为非成员函数重载的D.“/”是作为非成员函数重载的,“++”都是作为成员函数重载的
如果算符函数调用格式的表达式:x.operator-(operator++(y,0)中的“-”是作为成员函数重载的,“++”是作为友元函数重载的,那么该表达式还可以表示为:( )A.x-y++B.x-(++y)C.(x++)-yD.++x-y
如果表达式x * y+z中,“*”是作为友元函数重载的,“+”是作为成员函数重载的,则该表达式还可为 ( )。A.operator+(operator$(X,Y),z)B.x.operator+(operator * (x,y),Z)C.Y.operator * (operator+(x,Y),z)D.x.operator+(operator{(X,Y))
如果表达式y*x++中,“”是作为成员函数重载运算符,“++”是作为友元函数重的运算符,采用运算符函数调用格式,该表达式还可表示为( )。A.x.operator++(0).operator*(y)B.openrator*(x.operator++(0),y)C.y.operator*(openrator++(x,0))D.operator*(operator++(x,0),y)
如果表达式--X+y中,--是作为成员函数重载的,+是作为成员函数重载的,则该表达式还可为A.y.operator+(x.operator--(0))B.y,operator+(x.operator--( ))C.y.operator+(operator--t(x,0))D.operator+(x.operator- -t( ))
如果表达式--x+y中,--是作为成员函数重载的,+是作为成员函数重载的,则该表达式还可为( )A.y.operator+(x.operator--(0))B.y.operator+(x.operator--())C.y.operator+(operator--(x,0))D.operator+(x.operator--())
在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是()。A、作为友元函数重载的1元运算符B、作为成员函数重载的1元运算符C、作为友元函数重载的2元运算符D、作为成员函数重载的2元运算符
单选题下列关于运算符重载的叙述中,错误的是( )。A有的运算符可以作为非成员函数重载B所有的运算符都可以通过重载而被赋予新的含义C不得为重载的运算符函数的参数设置默认值D有的运算符只能作为成员函数重载
单选题在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是()。A作为友元函数重载的1元运算符B作为成员函数重载的1元运算符C作为友元函数重载的2元运算符D作为成员函数重载的2元运算符
单选题如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为( )。Ax.operator++(0).operator*(y)Boperator*(x.operator++(0),y)Cy.operator*(operator++(x,0))Doperator*(operator++(x,0),y)
填空题一个单目运算符作为类的成员函数重载时有()个参数;如果作为独立函数重载,则有()个参数。