如果表达式a+b中的"+"是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为() A a.operator+
能不能请教一下,他们之间的区别,另外,对<<的重载又是怎么回事;总之有什么规律吗?如果表达式a+b中的"+"是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示...
能不能请教一下,他们之间的区别,另外,对<<的重载又是怎么回事;总之有什么规律吗?
如果表达式a+b中的"+"是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()
A a.operator+(b) B b.operator+(a)
C operator+(a,b) D operator(a+b)
如果表达式a==b中的"=="是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为()
A a.operator==(b) B b.operator==(a)
C operator==(a,b) D operator==(b,a)
如果表达式a++中的"++"是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()
A a.operator++(b) B operator++(a)
C operator++(a,1) D a.operator++(1,a)
如果表达式++a中的"++"是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()
A a.operator++(1) B operator++(a)
C operator++(a,1) D a.operator++() 展开
如果表达式a+b中的"+"是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()
A a.operator+(b) B b.operator+(a)
C operator+(a,b) D operator(a+b)
如果表达式a==b中的"=="是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为()
A a.operator==(b) B b.operator==(a)
C operator==(a,b) D operator==(b,a)
如果表达式a++中的"++"是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()
A a.operator++(b) B operator++(a)
C operator++(a,1) D a.operator++(1,a)
如果表达式++a中的"++"是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()
A a.operator++(1) B operator++(a)
C operator++(a,1) D a.operator++() 展开
展开全部
1. A a.operator+(b) operator+是函数名,因为是成员函数,所以由a调用
2. C operator==(a,b) operator==是函数名,因为是普通函数,所以直接调用
3. A a.operator++(b) operator++是函数名,因为是成员函数,所以由a调用,另外这里是a++而非++a,所以要传一个参数
4. D a.operator++() 同上,但是这里是++a,所以不需要参数
操作符重载,不过是函数的名字显得奇怪了些,本质上是一样的。<<本身并无特别之处,只不过当用于cout的时候,你不能重载成成员函数
2. C operator==(a,b) operator==是函数名,因为是普通函数,所以直接调用
3. A a.operator++(b) operator++是函数名,因为是成员函数,所以由a调用,另外这里是a++而非++a,所以要传一个参数
4. D a.operator++() 同上,但是这里是++a,所以不需要参数
操作符重载,不过是函数的名字显得奇怪了些,本质上是一样的。<<本身并无特别之处,只不过当用于cout的时候,你不能重载成成员函数
追问
再问一下.3问中 为什么传的参数是b,而不是1
追答
我觉得一般来说是1啊,或者0啊都可以的.....其实b是什么也没有说,所以它的意思只是区分有没有参数吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询