有关运算符重载问题
如果表达式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++()
答案是ACCA吗?具体的区别在哪,关键在哪,求高人解答
[解决办法]
作为成员函数,调用,肯定形式是: 对象.函数(参数)
作为普通函数,调用,肯定形式是:函数(参数)
XX++和++XX;前缀和后缀重载,在于后缀形式多了一个参数,该参数的目的主要是为了区分前缀形式,别无其它。
[解决办法]
a.operator+(b)
operator==(a,b)
a.operator++(int)
a.operator++()