• 重载后缀C++读书笔记之 赋值运算符= 重载 前缀自减运算符重载 求负运算符 重载


    题记:写这篇博客要主是加深自己对重载后缀的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢。

        /**重载赋值运算符 = **/
          void operator=(const Distance &D )
          {
             feet = D.feet;
             inches = D.inches;
          }
          /**重载负号运算符 -  **/
            Distance operator-()
          {
             feet = -feet;
             inches = -inches;
             return Distance(feet, inches);
          }
          /**重载前缀自减运算符 --  **/
            Distance operator--()
            {
                --feet;
                --inches;
                return Distance(feet, inches);
            }
             /**重载后缀自减运算符 --  **/
            Distance operator--(int)
            {
                Distance Temp(feet,inches);
                feet--;
                inches--;
                return Temp;

                }

        

        

        每日一道理
    生命,是一场漫长的棋局。这盘棋没有猎猎西风,没有四起狼烟,只有在取舍和进退中抉择。只有像棋中的小卒那样,勇往直前,毫不退缩沿着沟沟坎坎的人生之路,艰难而执着的求索,前进,才会谱写人生最壮丽的强者之歌。
    #include <iostream>
    using namespace std;
    
    class Distance
    {
       private:
          double feet;             // 0 to infinite
          double inches;           // 0 to 12
       public:
          // required constructors
          Distance()
          {
             feet = 0.0;
             inches = 0.0;
          }
          Distance(double f, double i)
          {
             feet = f;
             inches = i;
          }
          /**重载赋值运算符 = **/
          void operator=(const Distance &D )
          {
             feet = D.feet;
             inches = D.inches;
          }
          /**重载负号运算符 -  **/
            Distance operator-()
          {
             feet = -feet;
             inches = -inches;
             return Distance(feet, inches);
          }
          /**重载前缀自减运算符 --  **/
            Distance operator--()
            {
                --feet;
                --inches;
                return Distance(feet, inches);
            }
             /**重载后缀自减运算符 --  **/
            Distance operator--(int)
            {
                Distance Temp(feet,inches);
                feet--;
                inches--;
                return Temp;
            }
    
          // method to display distance
          void displayDistance()
          {
             cout << "Feet: " << feet <<  " Inches:" <<  inches << endl;
          }
    
    };
    int  main()
    {
        Distance D1(19.91, -20.13),D2;
        cout << "\nD1 Distance now: \n";
        D1.displayDistance();
        --D1;
        cout << "\nD1 Distance after  --D1  : \n";
        D1.displayDistance();
    
        -D1;
        cout << "\nD1 Distance after  -D1  : \n";
        D1.displayDistance();
    
        cout << "\nD1--.displayDistance():\n";
        D1--.displayDistance();
    
        // use assignment operator
        D2 = D1--;
        cout << "\nafter D2=D1-- Distance of D2 :\n";
        D2.displayDistance();
    
        cout << "\nafter D2=D1-- Distance of D1 :\n";
        D1.displayDistance();
    
        return 0;
    }
    /**************************
    运行结果:
    
    D1 Distance now:
    Feet: 19.91 Inches:-20.13
    
    D1 Distance after  --D1  :
    Feet: 18.91 Inches:-21.13
    
    D1 Distance after  -D1  :
    Feet: -18.91 Inches:21.13
    
    D1--.displayDistance():
    Feet: -18.91 Inches:21.13
    
    after D2=D1-- Distance of D2 :
    Feet: -19.91 Inches:20.13
    
    after D2=D1-- Distance of D1 :
    Feet: -20.91 Inches:19.13
    
    Process returned 0 (0x0)   execution time : 0.819 s
    Press any key to continue.
    
    ***************************/

    文章结束给大家分享下程序员的一些笑话语录: 联想——对内高价,补贴对外倾销的伟大“民族”企业。

  • 相关阅读:
    SpringMVC:JSON讲解
    SpringMVC:文件上传和下载
    字符串的使用
    python中的作用域与名称空间
    深、浅copy
    代码块与小数据池之间的关系
    关于敏感字符的筛选替换
    列表的增、删、改、查
    最简三级菜单
    python2.x与python3.x的区别
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3084620.html
Copyright © 2020-2023  润新知