#include<iostream>
using namespace std;
//重载递减运算符
class MyInteger
{
friend ostream& operator<<(ostream& cout, MyInteger myint); //友元
public:
MyInteger()
{
m_Num = 5;
}
//重载前置--运算符
MyInteger operator--()
{
m_Num--;
return *this;
}
//重载后置--运算符 int 相当于占位符
MyInteger& operator--(int)
{
//先记录当前这个数
MyInteger temp;
//进行--操作
m_Num--;
//返回开始记录的那个数
return temp;
}
private:
int m_Num;
};
//重载左移运算符
ostream& operator<<(ostream & cout,MyInteger myint)
{
cout << myint.m_Num;
return cout;
}
//前置--测试函数
void test01()
{
MyInteger myint;
cout << --myint << endl;
}
//后置--测试函数
void test02()
{
MyInteger myint;
cout << myint-- << endl;
}
int main()
{
test01();
test02();
}
//总结 前置递增返回引用 后置递增返回值(temp是临时变量 用完就要被释放)``
c++递减运算符重载
最新推荐文章于 2023-02-13 09:46:42 发布