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

题目

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

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

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

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

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


相似考题
更多“在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员的函数重载的运算符。下列叙述中正确 ”相关问题
  • 第1题:

    下列关于运算符重载的叙述中,错误的是( )。

    A.有的运算符可以作为非成员函数重载

    B.所有的运算符都可以通过重载而被赋予新的含义

    C.不得为重载的运算符函数的参数设置默认值

    D.有的运算符只能作为成员函数重载


    正确答案:B
    重载运算符的规则如卜.:①c++不允许用户自己定义新的运算符,只能对已有的c++运算符进行重载:②c++不能重载的运算符只有5个;③莺载不能改变运算符运算对象的个数;④重载不能改变运算符的优先级和结合性;⑤霞载运算符的函数不能有默认的参数;⑥重载的运算符必须和用户定义的自定义类型的对象一起使用.至少应有一个是类对象,即不允许参数全部是c++的标准类型。所以答案为B。

  • 第2题:

    下列关于运算符重载的叙述中,错误的是

    A.有的运算符可以作为非成员函数重载

    B.所有的运算符都可以通过重载而被赋予新的含义

    C.不得为重载的运算符函数的参数设置默认值

    D.有的运算符只能作为成员函数重载


    正确答案:B
    解析:进行运算符重载时,不得给重载函数参数赋默认值。运算符重载是针对新数据类型的需要对原有运算符进行适当的改造,而不是创建新的运算符,也不能给运算符赋予新的含义。有的运算符只能重载为成员函数如:=、( )、[ ]、->。

  • 第3题:

    5、在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是()。

    A.作为友元函数重载的单目运算符

    B.作为成员函数重载的单目运算符

    C.作为友元函数重载的双目运算符

    D.作为成员函数重载的双目运算符


    作为成员函数重载的一元运算符

  • 第4题:

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


    正确答案:x=y.operator*(z)
    x=y.operator*(z)

  • 第5题:

    在表达式x+y*2中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符,则operator+和operator*分别有多少个参数?

    A.1 1

    B.1 2

    C.2 1

    D.2 2


    C 解析:“/”是一个二元运算符,作为成员函数重载时形参表中只有一个参数,对应于第二操作数,而第一操作数就是对象本身,以this指针的形式隐藏在形参表中。本题中,y为第一操作数,x为第二操作数,故正确答案为C。

  • 第6题:

    在表达式x+y*2中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符,则operator+和operator*分别有()个参数。

    A.2、2

    B.2、1

    C.1、2

    D.1


    C解析:+作为双目成员函数运算符重载时,只有一个参数,另一个参数为对象本身,*作为非成员函数重载有两