#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 ===|
*/