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;
}


相关文章
|
6月前
|
C++
C++类自加自减与<<运算符的重载实现
C++类自加自减与<<运算符的重载实现
|
6月前
|
编译器 C++
C++|运算符重载(1)|为什么要进行运算符重载
C++|运算符重载(1)|为什么要进行运算符重载
|
6月前
|
C语言 C++
C++|运算符重载(2)|运算符重载的方法与规则
C++|运算符重载(2)|运算符重载的方法与规则
|
6月前
|
C语言
C语言5🔥:复合赋值,递增递减运算符,局部变量与全局变量
C语言5🔥:复合赋值,递增递减运算符,局部变量与全局变量
76 0
|
编译器 C++
34 C++ - 自增自减(++/--)运算符重载
34 C++ - 自增自减(++/--)运算符重载
30 0
|
编译器 C++
36 C++ - 赋值(=)运算符重载
36 C++ - 赋值(=)运算符重载
31 0
【C++之运算符重载2】矩阵相加 重载运算符 “+”、“<<”、“>>”
【C++之运算符重载2】矩阵相加 重载运算符 “+”、“<<”、“>>”