更多“如果表达式--x中的“--”是重载的类运算符,采用运算符函数调用格式,该表达式还可以表示为【】。 ”相关问题
  • 第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含义相同。同理,运算符*作为成员函数重载,则广(x++)与y.operator*(x++)含义相同,后缀什作为友元函数重载,那么x++与operator++(x,0)含义相同,所以选项C是正确的。

  • 第2题:

    如果表达式- -x/y中的“- -”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为

    A.operator /(x.operator- -( ),y);

    B.operator /(operator- -(x),y);

    C.x.operator- -( ).Operator /(y);

    D.y.operator /(operator- -(x));


    正确答案:B
    解析:本题考核运算符的重载。假定已经作为某个类的成员函数重载了二元运算符+,且 c1、c2都是该类的对象,则c1.operator+(c2)与c1+c2含义相同。如果+作为该类的非成员函数重载,则operator+(cl,c2)与c1+c2含义相同。同理,运算符“/”作为友元函数重载,则(- -x)/y与表达式operator/((- -x),y)相同。前缀运算符“- -”作为友元函数重载,则- -x与operator- -(x)相同,所以组合起来是operator/(operator- -(x),y);,即B选项。

  • 第3题:

    如果表达式--X中的“--”是重载的类运算符,采用运算符函数调用格式,及表达式还可以表示为______。


    正确答案:x.operator--()
    x.operator--() 解析: 运算符函数有两种调用形式,第一种是像一般函数那样用函数名调用,即y.operator-(z)或者operator-(y,z);另一种是通过运算符构成表达式,即y-z。因为“--”运算符既可以作为前缀算符,又可以作为后缀运算符,所以重载这个运算符时,重载后缀“--”时必须多一个虚拟参数:int。

  • 第4题:

    如果表达式--x/y中的“--”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为( )。

    A.operator/(x.operator--(),y);

    B.operator/(operator--(x),y);

    C.x.operator--().operator/(y);

    D.y.operator/operator--(x));


    正确答案:B
    解析: 本题考查运算符的重载。假定已经作为某个类的成员函数重载了二元运算符+,且c1、c2都是该类的对象,则c1.operator+(c2)与c1+c2含义相同。如果+作为该类的非成员函数重载,则operator+{(cl,c2)与cl+c2含义相同。同理,运算符“/”作为友元函数重载,则(--x)/y与表达式operator/((--x),y)相同。前缀运算符“--”作为友元函数重载,则--x与operator--(x)相同,所以组合起来是operator/(operator--(x),y);,即B选项。

  • 第5题:

    如果表达式“--x/y”中的“--”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为( )。

    A.operator/(X.operator--( ),y);

    B.operator/(operator--(x),y);

    C.X.operator--( ).operator/(y);

    D.y.operator/operator--(x));


    正确答案:B
    B。【解析】本题考查运算符的重载。假定已经作为某个类的成员函数重载了二元运算符+,且c1、c2都是该类的对象,则“c1.operator+(c2)”,与“c1+c2”含义相同。如果+作为该类的非成员函数重载,则“operator+(c1,c2)”与“c1+c2”含义相同。同理,运算符“/”作为友元函数重载,则“(--x)/y”与表达式“operator/((--x),y)”相同。前缀运算符“--”作为友元函数重载,则“--X与operator--(x)”相同,所以组合起来是“0perator/(operator--(x),y);”,即B选项。