养成const好习惯

#include<iostream>
using namespace std;

class CS
{
    public:
        CS(int a=0,int b=0):x(a),y(b){}
        CS operator=(CS const &other);//这里没有const就错啊,(VC6.0却正常运行)
        CS operator+(CS &other);
        void func();
    private:
        int x,y;
};
CS CS::operator=(CS const &other)
{
    x=other.x;
    y=other.y;
    return *this;
}
CS CS::operator+(CS &other)
{
    CS p;
    p.x=x+other.x;
    return p;
}
int main()
{
    CS p(1,2),p2(2,3),p3;
    p3=p2+p;
    return 0;
}
/*
没有const的结果
E:\APP\test_codeblock\main.cpp||In function 'int main()':|
E:\APP\test_codeblock\main.cpp|29|error: no match for 'operator=' in 'p3 = p2.CS::operator+(((CS&)(& p)))'|
E:\APP\test_codeblock\main.cpp|14|note: candidates are: CS CS::operator=(CS&)|
||=== Build finished: 1 errors, 0 warnings ===|


*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值