如果表达式a==b中的“==”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。

题目
如果表达式a==b中的“==”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。

A.a.operator==( )

B.b.operator==( )

C.operator==(a,b)

D.operator==(b,a)

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

如果表达式-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+(c1,c2)与c1+c2含义相同。同理,运算符“/”作为友元函数重载,则(--x)/y与表达式operator/((--x),y)相同。前缀运算符“--”作为友元函数重载,则--x与operator--(x)相同,所以组合起来是operator/(operator-(x),y);,即B选项。

第2题:

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


正确答案:x=y.operator*(z)或x=y.operator*(z)
x=y.operator*(z)或x=y.operator*(z) 解析:运算符函数有两种调用形式,第一种是像一般函数那样用函数名调用,即y.operator*(z)或者operator*(y,z);另一种是通过运算符构成表达式,即y*z。

第3题:

( 14 )下列有关运算符函数的描述中,错误的是

A )运算符函数的名称总是以 operator 为前缀

B )运算符函数的参数可以是对象

C )运算符函数只能定义为类的成员函数

D )在表达式中使用重载的运算符相当于调用运算符重载函数


正确答案:C

第4题:

如果表达式-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)相同,所以组合起来是operator/(operator--(x),y);,即B选项。

第5题:

如果表达式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是正确的。

第6题:

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

A.jsj-ej-0253.jpg

B.jsj-ej-0254.jpg

C.jsj-ej-0255.jpg

D.jsj-ej-0256.jpg


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

第7题:

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


正确答案:x.operator--()
x.operator--() 解析:本题考核运算符函数的两种调用方式。假定已经作为某个类的成员函数重载了二元运算符+,且c1、c2都是该类的对象,则c1.operator+(c2)与c1+c2函数相同。如果+作为该类的非成员函数重载,则operator+(c1,c2)与c1+c2相同。

第8题:

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

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

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

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

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


正确答案:B
解析:运算符重载实际上时函数的重载。重载运算符的一般格式:函数类型operator运算符名称(参数表)。重载运算符之后:函数operator+重载运算符“+”。“-”重载为“operator--;”,“/”重载为“operator/”。另外重载不能改变运算的优先级,-x/y计算--x后,除以y,所以表达式改写为:operator/(operator--(x),y);。

第9题:

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


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

第10题:

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

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

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

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

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


正确答案:B

更多相关问题