zoukankan      html  css  js  c++  java
  • 自考新教材-p170

    源程序:

    #include<iostream>
    using namespace std;

    class CDemo
    {
    private:
    int n;
    public:
    CDemo(int i=0):n(i){}
    CDemo & operator++(); //用于前置形式
    CDemo operator++(int); //用于后置形式
    operator int()
    {
    return n;
    }
    CDemo & operator--();
    CDemo operator--(int);
    };

    CDemo & CDemo::operator++() //前置++
    {
    n++;
    return *this;
    }

    CDemo CDemo::operator++(int k) //后置++,多一个参数
    {
    CDemo tmp(*this); //记录修改前的对象
    n++;
    return tmp; //返回修改前的对象
    }

    CDemo & CDemo::operator--() //前置--
    {
    n--;
    return *this;
    }

    CDemo CDemo::operator--(int k) //后置--
    {
    CDemo tmp(*this);
    n--;
    return tmp;
    }

    int main()
    {
    CDemo d(10);
    cout<<(d++)<<","; //等价于"d.operator++(0);"输出10
    cout<<d<<","; //输出11
    cout<<(++d)<<","; //等价于"d.operator++();"输出12
    cout<<d<<","; //输出12
    cout<<(d--)<<","; //等价于"d.operator--(0);"输出12
    cout<<d<<","; //输出11
    cout<<(--d)<<","; //等价于"d.operator--();"输出10
    cout<<d<<","<<endl; //输出10
    return 0;
    }

     运行结果:

  • 相关阅读:
    数组和类集排序总结
    toString()方法
    冒泡排序java
    Scanner类输入字符串和整形数字
    身份证分组
    jsonp的实质
    在伪数组上部署iterator方法
    获取属性的方法
    合并以及对于引用克隆
    深度复制对象已解决循环引用
  • 原文地址:https://www.cnblogs.com/duanqibo/p/12259159.html
Copyright © 2011-2022 走看看