#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
class MyInter
{
friend ostream& operator<<(ostream& cout, MyInter& myInt);
public:
MyInter()
{
m_Num = 0;
}
//前置++ 重载
MyInter& operator++()
{
this->m_Num++;
return *this;
}
//链式编程 返回自己 返回引用 要无限对自己进行操作
//后置++ 加一个占位参数
MyInter operator++(int)
{
//先记录初始状态
MyInter temp = *this;
this->m_Num++;
return temp;
}
//后置++返回的是值,前置++返回的是引用
//前置效率更高,因为前置少创建了一个对象。
private:
int m_Num;
};
ostream& operator<<(ostream& cout , MyInter& myInt)
{
cout << myInt.m_Num;
return cout;
}
void test01()
{
MyInter myInt;
cout << ++(++myInt) << endl;
cout << myInt << endl;
}
void test02()
{
MyInter myInt;
cout << myInt++ <<endl;
cout << myInt << endl;
}
int main(){
//test01();
test02();
//int a = 0;
//cout << ++(++a) << endl;
//cout << a << endl;
//int b = 0;
//cout << (b++)++ << endl;
system("pause");
return EXIT_SUCCESS;
}
肆-拾陆|递增运算符重载
最新推荐文章于 2024-06-15 18:06:06 发布