首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一路关于运算符重载的校园招聘笔试题,求教大侠

2012-09-24 
一道关于运算符重载的校园招聘笔试题,求教大侠C/C++ codeclass X{public:X& operator(const X& rhs)cons

一道关于运算符重载的校园招聘笔试题,求教大侠

C/C++ code
class X{public:    X& operator=(const X& rhs);    const X& operator+(const X& rhs)const;    const X& operator+(int m);private:    int n;};int main(){    X a,b,c;    //statements go here        return 0;}

问下面哪个选项的语句是不合法的?
1) a = b + 5;
2) a =a +5 +c;
3) (c=a+a)=b+c;
4) a = b+c+5;

真心不会,求教各位给出正确答案,最好指出错误选项为什么不合法?

[解决办法]
a = b+c+5;不合法
b+c会调用到const X& operator+(const X& rhs)const
返回值是const X &
而const X& operator+(int m);不是const成员函数

[解决办法]
探讨

a = b+c+5;不合法
b+c会调用到const X& operator+(const X& rhs)const
返回值是const X &
而const X& operator+(int m);不是const成员函数

热点排行