单选题在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是(  )。Aoperator+有两个参数,operator*有两个参数Boperator+有两个参数,operator*有一个参数Coperator+有一个参数,operator*有两个参数Doperator+有一个参数,operator*有一个参数

单选题
在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是(  )。
A

operator+有两个参数,operator*有两个参数

B

operator+有两个参数,operator*有一个参数

C

operator+有一个参数,operator*有两个参数

D

operator+有一个参数,operator*有一个参数


参考解析

解析:
运算符可重载为成员函数,也可重载为非成员函数函数。当重载为成员函数时,运算符重载函数的形参个数要比运算符操作数的个数少一个;当重载为非成员函数时,其形参个数应与操作数的个数相同。

相关考题:

下列关于运算符重载的叙述中,错误的是( )。A.有的运算符可以作为非成员函数重载B.所有的运算符都可以通过重载而被赋予新的含义C.不得为重载的运算符函数的参数设置默认值D.有的运算符只能作为成员函数重载

( 24 )下列关于运算符重载的描述中,正确的是A )运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符B )一元运算符只能作为成员函数重载C )二元运算符重载为非成员函数时,参数表中有一个参数D ) C++ 中可以重载所有的运算符

( 33 )下列关于运算符重载的描述中,错误的是A ) :: 运算符不能重载B )类型转换运算符只能作为成员函数重载C )将运算符作为非成员函数重载时必须定义为友元D )重载 [] 运算符应完成 “ 下标访问 ” 操作

( 24 )下列关于运算符重载的描述中,错误的是A )可以通过运算符重载在 C++ 中创建新的运算符B )赋值运算符只能重载为成员函数C )运算符函数重载为类的成员函数时,第一操作数是该类对象D )重载类型转换运算符时不需要声明返回类型

下列有关运算符重载的叙述中,正确的是A.运算符重载是多态性的一种表现B.C++中可以通过运算符重载创造新的运算符C.C++中所有运算符都可以作为非成员函数重载D.重载运算符时可以改变其结合性

下列关于运算符重载的描述中,错误的是( )。A.可以通过运算符重载在C++中创建新的运算符B.赋值运算符只能重载为成员函数C.运算符函数重载为类的成员函数时,第一操作就是该类对象D.重载类型转换运算符时不需要声明返回类型

在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是()。A、作为友元函数重载的1元运算符B、作为成员函数重载的1元运算符C、作为友元函数重载的2元运算符D、作为成员函数重载的2元运算符

下列关于运算符重载的描述中,错误的是( )。A.可以通过运算符重载在C++中创建新的运算符 下列关于运算符重载的描述中,错误的是( )。A.可以通过运算符重载在C++中创建新的运算符B.赋值运算符只能重载为成员函数C.运算符函数重载为类的成员函数时,第一操作参数就是该类对象D.重载类型转换运算符时不需要声明返回类型

运算符函数调用格式的表达式:y/x++与表达式:y.operator/(operator++(x,O))含义相同,由此可看出()。A.“/”和“++”都是作为成员函数重载的B.“/”和“++”都是作为非成员函数重载的C.“/”是作为成员函数重载的,“++”是作为非成员函数重载的D.“/”是作为非成员函数重载的,“++”都是作为成员函数重载的

下列关于运算符重载的叙述中,正确的是A.通过运算符重载,可以定义新的运算符B.有的运算符只能作为成员函数重载C.若重载运算符+,则相应的运算符函数名是+D.重载一个二元运算符时,必须声明两个形参

在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员的函数重载的运算符。下列叙述中正确的是A.operator+有两个参数,operator*有两个参数B.operator+有两个参数,operator*有一个参数C.operator+有一个参数,operator*有两个参数D.operator+有一个参数,operator*有一个参数

下列关于运算符重载的叙述中,正确的是A.运算符重载为成员函数时,若参数表中无参数,则重载的是一元运算符B.一元运算符只能作为成员函数重载C.二元运算符重载为非成员函数时,参数表中有一个参数D.C++中可以重载所有的运算符

多数运算符既能作为类的成员函数重载,也能作为类的非成员函数重载,但运算符[]只能作为类的______函数重载。

下面关于成员函数重载运算符和友元函数重载运算符相同的是( )。A.成员函数和友元函数可重载的运算符是不相同的B.成员函数和友元函数重载运算符时都需要用到this指针C.成员函数和友元函数重载运算符时都需要声明为公有的D.成员函数和友元函数重载运算符时的参数可能是相同的

下面关于运算符重载的描述中,正确的是( )。A.一元运算符只能作为成员函数来重载B.运算符重载作为成员函数时,如果参数表中无参数,重载的是一元运算符C.二元运算符重载为非成员函数时,参数表中有一个参数D.C++中可以重载所有的运算符

下列关于运算符重载的叙述中,错误的是A.::运算符不能重载B.类型转换运算符只能作为成员函数重载C.将运算符作为非成员函数重载时必须定义为友元D.重载[ ]运算符应完成“下标访问”操作

如果表达式x=y*z中的“*”是作为成员函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为【 】。

为类Matrix重载下列运算符号时,只能作为Matrix类成员函数重载的运算符是( )。A.+B.=C.D.++

在表达式x+ y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是( )。A.operator+有两个参数,operator*有两个参数B.operator+有两个参数,operator*有一个参数C.operator+有一个参数,operator*有两个参数D.operator+有一个参数,operator*有一个参数

下理关于运算符重载的描述中,正确的是( )。A.运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符B.一元运算符只能作为成员函数重载C.二元运算符重载为非成员函数时,参数表中有一个参数D.C++中可以重载所有的运算符

在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是()。A、operator+有两个参数,operator*有两个参数B、operator+有两个参数,operator*有一个参数C、operator+有一个参数,operator*有两个参数D、operator+有一个参数,operator*有一个参数

单选题在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是()。Aoperator+有两个参数,operator*有两个参数Boperator+有两个参数,operator*有一个参数Coperator+有一个参数,operator*有两个参数Doperator+有一个参数,operator*有一个参数

单选题下列关于运算符重载的描述中,错误的是(  )。A可以通过运算符重载在C++中创建新的运算符B赋值运算符只能重载为成员函数C运算符函数重载为类的成员函数时,第一操作数是该类对象D重载类型转换运算符时不需要声明返回类型

单选题在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是()。A作为友元函数重载的1元运算符B作为成员函数重载的1元运算符C作为友元函数重载的2元运算符D作为成员函数重载的2元运算符

单选题下列关于运算符重载的描述中,错误的是(  )。A::运算符不能重载B类型转换运算符只能作为成员函数重载C将运算符作为非成员函数重载时必须定义为友元D重载[]运算符应完成“下标访问”操作

单选题运算符函数调用格式的表达式“y/x抖”与表达式“y.operator/(operator++(x,o))”的含义相同,由此可看出(  )A“/”和“++”都是作为成员函数重载的B“/”和“++”都是作为非成员函数重载的C“/”是作为成员函数重载的,“++”是作为非成员函数重载的D“/”是作为非成员函数重载的,“++”都是作为成员函数重载的

单选题下列关于赋值运算符“=”重载的叙述中,正确的是(  )。A赋值运算符只能作为类的成员函数重载B默认的赋值运算符实现了“深层复制”功能C重载的赋值运算符函数有两个本类对象作为形参D如果已经定义了复制(拷贝)构造函数,就不能重载赋值运算符

单选题如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为(  )。Ax.operator++(0).operator*(y)Boperator*(x.operator++(0),y)Cy.operator*(operator++(x,0))Doperator*(operator++(x,0),y)