参考答案和解析
正确答案:X++
X++
更多“表达式operator++(x,int)其可以表示为_______。 ”相关问题
  • 第1题:

    如果表达式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)


    正确答案:C
    解析:本题考核运算符的重载。假定已经作为某个类的成员函数重载了二元运算符+,且c1,c2都是该类的对象,则c1.operator+(c2)与c1+c2含义相同。如果+作为该类的非成员函数重载,则operator+(c1,c2)与c1+c2含义相同。同理,运算符*作为成员函数重载,则y*(x++)与 y.operator*(x++)含义相同,后缀++作为友元函数重载,那么x++与operator++(x,0)含义相同,所以选项 C是正确的。

  • 第2题:

    如果在表达式++x/y中,“++”是作为友元函数重载的,…/”是作为成员函数重载的,则该表达式还可为( )。

    A.(operator++(x)).operator/(Y)

    B.(operator++(0)).operator/(Y)

    C.operator/((operator++(x,0)),Y)

    D.operator/((operator++(0)),Y)


    正确答案:A
    c++中用成员函数重载++X为:x.oper-ator++,用友元函数重载++x为:0perator++(x),用成员函数重载x/y为:x.operator/(Y),用友元函数重载x/y为:operator/(X,Y)。

  • 第3题:

    如果算符函数调用格式的表达式:x.operator-(operator++(y,0)中的“—”是作为成员函数重载的,“++”是作为友元函数重载的,那么该表达式还可以表示为:()

    A.x-y++

    B.x-(++y)

    C. (x++)-y

    D.++x-y


    正确答案:A
    解析:本题考核运算符的重载。假定已经作为某个类的成员函数重载了二元运算符+,且c1、c2都是该类的对象,则c1. operator+(c2)与c1+c2含义相同。如果+作为该类的非成员函数重载,则operator+(c1,c2)与c1+c2含义相同。同时一元运算符“++”重载函数调用中采用了虚拟参数,说明++为后缀的,所以其等价的表达式为“x-y++”。

  • 第4题:

    如果表达式++x/y中,++是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为( )。

    A.(operator++(x)).operator/(y)

    B.(operator++(0)).operatr/(y)

    C.operator/((operator++(x,0)),y)

    D.operator/((operator++(0)),y)


    正确答案:A

  • 第5题:

    如果算符函数调用格式的表达式:x.operator-(operator++(y,0)中的“-”是作为成员函数重载的,“++”是作为友元函数重载的,那么该表达式还可以表示为:( )

    A.x-y++

    B.x-(++y)

    C.(x++)-y

    D.++x-y


    正确答案:A
    解析:本题考核运算符的重载。假定已经作为某个类的成员函数重载了二元运算符+,且c1、c2都是该类的对象,则c1.operator+(c2)与c1+c2含义相同。如果+作为该类的非成员函数重载,则operator+(c1,c2)与c1+c2含义相同。同时一元运算符“++”重载函数调用中采用了虚拟参数,说明++为后缀的,所以其等价的表达式为“x-y++”。