更多“( 24 )将运算符重载为类成员函数时,其参数表中没有参数,说明该运算是A )不合法的运算符 B )一元 ”相关问题
  • 第1题:

    将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是( )。 A.不合法的运算符

    将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是( )。

    A.不合法的运算符

    B.一元运算符

    C.无操作数的运算符

    D.二元运算符


    正确答案:B
    B。【解析】一元或二元运算符函数作为成员函数时,第一操作数就是对象本身,并不出现在参数表中,即第一操作数仅以this指针的形式隐含于参数表中,因此对于一元运算符参数表是空的;而对于二元运算符参数表中只有一个参数,它代表第二操作数。

  • 第2题:

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

    A.运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符

    B.一元运算符只能作为成员函数重载

    C.二元运算符重载为非成员函数时,参数表中有一个参数

    D.C++中可以重载所有的运算符


    正确答案:A
    A。【解析】本题考查的知识点是运算符的重载。运算符重载为成员函数时,形参个数一般为运算符的元数减1,因为此成员函数所属的对象可成为运算符的一个运算分量。重载为非成员函数时,形参个数一般和运算符元数相等。所以,二元运算符重载为非成员函数时,参数表中应有两个参数,运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符。一元运算符中,一取负运算符、++增1运算符、--减1等运算符均可重载为成员函数,C++中,有…*、->*、::、?:五个运算符不能重载。

  • 第3题:

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

    A.运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符

    B.一元运算符只能作为成员函数重载

    C.二元运算符重载为非成员函数时,参数表中有一个参数

    D.C++中可以重载所有的运算符


    正确答案:A
    运算符重载为成员函数时,会省略一个参数,如果无参数,表明是一元运算符。一元运算符既可以作为成员函数重载,也可以作为非成员函数重载。二元运算符如果作勾非成员函数,则参数表中必须有两个参数。c++有5个运算符不能重载,它们是:.(成员访问运算符)、*(成员指针访问运算符)、::(域运算符)、sizeof(长度运算符)和?:(条件运算符)。故本题答案为A。

  • 第4题:

    重载一个运算符函数时,其参数表中没有任何参数,这说明该运算是 ______。

    A.一元非成员运算符

    B.二元非成员运算符

    C.一元成员运算符

    D.二元成员运算符


    正确答案:C

  • 第5题:

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

    A.一元非成员运算符

    B.一元成员运算符

    C.二元非成员运算符

    D.二元成员运算符


    正确答案:B
    解析:当把运算符重载为成员函数时,第1操作数就是对象本身,即第1操作数仅以this指针的形式隐含在参数表中。因此,对于一元运算符的参数表是空的:对于二元运算符的参数表中只有一个参数,它代表第2操作数。当把运算符重载为非成员函数时,由于没有隐含this指针,因此所有的操作数必须出现在参数表中。因此。对于一元运算符,参数表中有一个参数,代表那个的操作数;对于二元运算符,参数表中有两个参数,分别代表第1和第2操作数。