首先运算符重载的概念:对已有的运算符重新进行定义,赋予另一种功能,以适应不同的数据类型。
递减运算包括前置递减和后置递减两种。要进行递减运算符重载操作,首先要弄明白二者的区别。前置递减:先让变量-1,然后进行表达式运算。 后置递减:先进行表达式运算,然后让变量-1。
递减运算符重载的 全部代码如下:
class MyInteger{
friend ostream& operator<<(ostream &cout,MyInteger myint);
private:
int m_number;
public:
MyInteger(){
m_number =3;
}
//前置运算符递减 返回引用是为了一直对一个数据进行递减操作
MyInteger& operator--()
{
//1、先让变量--
m_number --;
//2、返回自身
return *this;
}
//后置运算符递减 后置递减返回值,不能返回局部变量的引用
//MyInteger operator--(int) int代表占位参数,可以用于区分前置和后置
MyInteger operator--(int)
{
//1、先记录变量初值
MyInteger temp =*this ;
//2、进行变量进行--操作
m_number --;
//3、返回变量初值
return temp;
}
};
//左移运算符重载
ostream& operator<<(ostream &cout,MyInteger myint)
{
cout<<myint.m_number ;
return cout;
}
void test01()
{
MyInteger myint;
cout<<--myint<<endl;
cout<<myint<<endl;
}
int main()
{
test01();
system ("pause");
return 0;
}