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;
}