在进行运算符重载之前,不妨先看看常规的前置递增和后置递增的区别:

- 前置递增如a所示,a是先进行递增计算,然后再输出打印;
- 后置递增如b所示,b是先进行输出打印,再进行计算
前置递增的实现
1.先写好main函数及头文件
#include <iostream>
#include <string>
using namespace std;
int main(){
system("pause");
return 0;
}
2.自定义MyInteger类
由于运算符重载的目的是为了让同一运算符作用于不同类型的数据时产生不同的行为(这里的MyInteger类是我们定义的)
class MyInteger{
public:
MyInteger()
{
m_Num = 0;
}
private:
int m_Num;
};
class MyInteger
:定义一个名为MyInteger
的类。public:
:这是一个访问权限声明,表示下面的成员函数是公开的,可以被类的对象和main函数中直接访问。MyInteger()
:这是MyInteger
类的构造函数。当创建一个MyInteger
对象时,这个构造函数会自动被调用,表示类的初始化。private:
:这是一个访问修饰符,表示下面的成员是私有的,所以外部代码不能直接访问或修改它,但类的内部函数可以。
3.重定义cout
#include <iostream>
#include <string>
using namespace std;
class MyInteger{
friend ostream & operator<<(ostream & cout, MyInteger myint);
public:
MyInteger()
{
m_Num = 0;
}
private:
int m_Num;
};
// 重载cout
ostream & operator<<