11-递增运算符重载

简介: 11-递增运算符重载
#include<bits/stdc++.h>
using namespace std;
//自定义整型
class MyInteger{
  friend ostream &  operator<<(ostream & cout,MyInteger myint);
  public:
    MyInteger(){
      m_Num=0;
    }
    //重载前置++运算符
    MyInteger& operator++(){
      //先进行++运算 
      m_Num++;
      //再将自身做返回
      return *this; 
    }
    //重载后置++运算符
    //void operator++(int) int 代表占位参数,可以用于区分前置和后置递增 
    MyInteger operator++(int)
    {
      //先记录当时结果
      MyInteger temp=*this;
      //后递增
      m_Num++;
      //最后将记录结果返回
      return temp; 
    }
    private:
      int m_Num;
}; 
//全局函数重载左移运算符
ostream &  operator<<(ostream & cout,MyInteger myint){
  cout<<"myint.m_Num= "<<myint.m_Num<<endl;
}
void test01(){
  MyInteger myint;
  cout<<++(++myint)<<endl;
  cout<<myint<<endl;
}
void test02(){
  MyInteger myint;
  cout<<myint++<<endl;
  cout<<myint<<endl;
}
int main()
{
  //递增运算符重载
  test01();
  test02();
  return 0;
}


相关文章
|
4天前
|
C++
C++类自加自减与<<运算符的重载实现
C++类自加自减与<<运算符的重载实现
|
6月前
|
C++
35 C++ - 指针运算符(*、->)重载
35 C++ - 指针运算符(*、->)重载
35 0
|
2天前
|
编译器 C++
C++|运算符重载(1)|为什么要进行运算符重载
C++|运算符重载(1)|为什么要进行运算符重载
|
4天前
|
C语言
C语言5🔥:复合赋值,递增递减运算符,局部变量与全局变量
C语言5🔥:复合赋值,递增递减运算符,局部变量与全局变量
27 0
|
4天前
|
算法 程序员 C++
【C++运算符重载】探究C++中的下标运算符[]重载
【C++运算符重载】探究C++中的下标运算符[]重载
17 0
|
6月前
|
编译器 C语言
易错的运算符
易错的运算符
|
6月前
|
编译器 C++
34 C++ - 自增自减(++/--)运算符重载
34 C++ - 自增自减(++/--)运算符重载
18 0
|
6月前
|
编译器 C++
36 C++ - 赋值(=)运算符重载
36 C++ - 赋值(=)运算符重载
21 0
对类Point重载"++"(自增)、"--"(自减)运算符
对类Point重载"++"(自增)、"--"(自减)运算符
|
12月前
12-赋值运算符重载
12-赋值运算符重载