1、赋值运算符=
2、等于运算符==
3、加法运算符+
4、前向自加运算符++
5、后向自加运算符++
6、下标运算符[ ]
7、输入输出运算符<< 和 >>
8、转换运算符( )
9、实例代码
#include
#include
#include
using namespace std;
class A;
ostream& operator<
istream& operator>>(istream &in,A &a);
class A{
private:
int b;
public:
A(){b=10;}
~A(){}
// 加法
A operator+(A&a)
{
A temp;
temp.b=b+a.b;
return temp;
}
// 加等于
A& operator+=(A&a)
{
b+=a.b;
return *this;
}
// 赋值
A& operator=(A&a)
{
if (a!=*this)
{
b=a.b;
}
return *this;
}
//相等
bool operator==(A&a)
{
return b==a.b;
}
// 前向++
A operator++()
{
b++;
return *this;
}
// 后向++ 区别前向++,加了个int形参
A operator++(int o)
{
A temp=*this;
b++;
return temp;
}
// 转换函数-- 形参列表为空,并且无返回类型
operator int()
{
return b;
}
//利用有元函数(可以访问类的私有成员)重载输入输出流
friend ostream& operator<
friend istream& operator>>(istream &in,A &a);
};
//有元函数重载输出流
ostream& operator<
{
out<
return out;
}
//有元函数重载输入流
istream& operator>>(istream &in,A &a)
{
in>>a.b;
return in;
}
int main()
{
A a1;
cout<
A a2=a1++;
cout<
a2=++a1;
cout<
a2+=a1;
cout<
return 0;
}