前置 后置 ++ 运算符重载
自己实现int类型 MyInteger
内部维护以int数据
MyInteger myInt
myInt ++ 后置 ++myInt 前置
重载++运算符 operator++() 前置 operator++(int) 后置
前置理念 先++ 后返回自身 后置理念 先保存住原有值 内部++ 返回临时数据
main.cpp
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
class MyInteger
{
friend ostream& operator<<(ostream& cout, MyInteger & myInt);
public:
MyInteger()
{
m_Num = 0;
};
//前置++重载
MyInteger& operator++()
{
this->m_Num++;
return *this;
}
//后置++ 重载()中多了一个int
MyInteger operator++(int)
{
//先保存目前数据
MyInteger tmp = *this;
m_Num++;
return tmp;
}
int m_Num;
};
ostream& operator<<(ostream& cout, MyInteger & myInt)
{
cout << myInt.m_Num;
return cout;
}
void test01()
{
MyInteger myInt;
// 前置++
cout << "++(++myInt)===" << ++(++myInt) << endl;//++(++myInt)===2
cout << "myInt===" << myInt << endl; //myInt===2
cout << "myInt++===" << myInt++ << endl; // 后置++ myInt++===2
cout << "myInt===" << myInt << endl; // myInt == = 3
}
int main(){
test01();
/*int a = 10;
cout << ++(++a) << endl;
cout << a << endl;*/
system("pause");
return EXIT_SUCCESS;
}
本文深入探讨了C++中前置和后置++运算符的重载方法,通过自定义MyInteger类,实现了对int类型的增强。前置++先增加再返回自身,后置++则先保存原始值再进行增加并返回临时数据,展示了C++运算符重载的强大功能。
3713

被折叠的 条评论
为什么被折叠?



