ch18_5.cpp
资源名称:c.rar [点击查看]
上传用户:puke2000
上传日期:2022-07-25
资源大小:912k
文件大小:1k
源码类别:

C#编程

开发平台:

Visual C++

  1. //**********************
  2. //**    ch18_5.cpp    **
  3. //**********************
  4. #include <iostream.h>
  5. class Increase{
  6. public:
  7.   Increase(int x):value(x){}
  8.   friend Increase & operator++(Increase & );     //前增量   friend Increase operator++(Increase &,int);    //后增量   void display(){ cout <<"the value is " <<value <<endl; }
  9. private:
  10.   int value;
  11. };
  12. Increase & operator++(Increase & a) {
  13.   a.value++;                           //前增量
  14.   return a;                            //再返回原对象
  15. }
  16. Increase operator++(Increase& a, int) {
  17.   Increase temp(a);                //通过拷贝构造函数保存原有对象值
  18.   a.value++;                       //原有对象增量修改
  19.   return temp;                     //返回原有对象值
  20. }
  21. void main()
  22. {
  23.   Increase n(20);
  24.   n.display();
  25.   (n++).display();                 //显示临时对象值
  26.   n.display();                     //显示原有对象
  27.   ++n;
  28.   n.display();
  29.   ++(++n);
  30.   n.display();
  31.   (n++)++;                         //第二次增量操作对临时对象进行
  32.   n.display();
  33.   cin.get();
  34. }