--->实现自己的整型数据
一.前置递增
#include <iostream>
using namespace std;
class Myinteger
{
friend ostream& operator<<(ostream& cout, Myinteger myint);//重载左移运算符
public:
Myinteger()//构造函数
{
m_Num = 0;
}
Myinteger& operator++()//递增运算符重载(前载)
{
m_Num++;//1.先进行++操作
return *this;//2.将自身返回
}//返回引用是为了一直对一个数据类型进行递增操作
private:
int m_Num;
};
ostream& operator<<(ostream& cout, Myinteger myint)
{
cout << myint.m_Num << endl;
return cout;
}
void test03()
{
Myinteger myint;
cout << ++myint << endl;//1
}
int main()
{
test03();
return 0;
}
--->返回引用可以:一直对一个数进行递增操作:
二.后置递增
#include <iostream>
using namespace std;
class Myinteger
{
friend ostream& operator<<(ostream& cout, Myinteger myint);//重载左移运算符
public:
Myinteger()//构造函数
{
m_Num = 0;
}
Myinteger& operator ++ ()//前置加加
{
m_Num++;
return *this;
}
Myinteger operator++(int)//后置加加,(占位参数,与前置加加区分开来)
{
Myinteger temp;//创建一个临时变量,来存放数据
m_Num++;
return temp;
}
private:
int m_Num;
};
ostream& operator<<(ostream& cout, Myinteger myint)
{
cout << myint.m_Num << endl;
return cout;
}
void test03()
{
Myinteger myint;
cout << ++myint << endl;//1(前置加加)
cout << myint++ << endl;//0(后置加加)
}
int main()
{
test03();
return 0;
}
--->
总结: