#include "stdafx.h"

问题描述:

#include "stdafx.h"
#include
using namespace std;
class date
{
public:
date(int oa=1):a(oa){}
int a;
};
date &operator=(date &d1,date d2)
{
d1.a=d2.a;
return d1;
}
/*
这里,我不想把operator=写作class date的成员,但却出现了错误
*/
int _tmain(int argc,_TCHAR* argv[])
{
date d1,d2(7);
d1=d2;
cout

看第3条:基本规则1.一元操作符可以是不带参数的成员函数[1]或带一个参数的非成员函数[1].2.二元操作符可以是带一个参数的成员函数[1]或带两个参数的非成员函数[1].3.operator=、operator[]、operator()、operator->...