• 重载后缀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.
    
    ***************************/

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

  • 相关阅读:
    case when then用法
    查询后n条记录
    自定义函数
    字符函数
    数字运算符和函数
    时间日期函数
    mysql加密函数
    比较运算符和函数
    文件夹中的文件以目录的形式呈现
    错误提示:通过 Web 服务器的身份验证的用户无权打开文件系统上的文件
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3084620.html
Copyright © 2020-2023  润新知