养成const好习惯

来源:互联网 发布:知乎可怕的经历 编辑:程序博客网 时间:2024/04/29 09:22
#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 ===|*/

原创粉丝点击