zoukankan      html  css  js  c++  java
  • 一元运算符重载


    • C++运算符只对基础类型进行了运算定义,如果是自己定义的类型例如类和结构体,这就需要对运算符进行重载,编写适合的方法
    • C++运算符的重载形式
      •   成员函数:在类中编写,省略了左操作数,隐含this指针,如果左操作数不是类对象,则只能使用全局函数
      •        友元函数:为了能够操作类中的私有属性,所以需要加上友元,当然如果属性用方法引出来,则不需要友元。
    • 运算符重载是一个函数。
      •   操作数即输入实参
      •        含有返回值
    • 一元运算符++/--
      •   前置++
        •   实现形式
        • //friend function 
          A& operator++(A& a)
          {
              a.dat += 20;
              return a;
          }
          //member function
          A& operator++( )
          {
              this->dat += 20;
              return *this;
          }
      • 后置++
        •   实现形式
        • //friend function
          A operator++(A&a, int)
          {
              A c = a;
              a.dat += 10;
              return c;
          }
          
          //member function
          A operator++( int)
          {
              A c = a;
              this->dat += 10;
              return c;
          }

          后置++是先使用在++。所以需要加入一个变量

        • 为了区分重载函数,不能以返回值作为判断标准,所以加入了一个没用的占位符int作为判断标准

  • 相关阅读:
    redis基础
    Django Meta
    Django Query
    Django FileFieldManage
    Django Managers管理器
    Django 模型
    Pytables h5py
    python 高级部分
    Python和HDF 5大数据应用
    是时候放弃pipeline 模型 ?
  • 原文地址:https://www.cnblogs.com/bixiaopengblog/p/8456549.html
Copyright © 2011-2022 走看看