选择java 进入自由开放的国度

随笔 - 49, 文章 - 3, 评论 - 154, 引用 - 1
数据加载中……

++运算符重载问题

简单探讨了++运算符的问题:

 1 #include  < iostream >
 2 using namespace std;
 3
 4 class  temp
 5 {
 6 private  :
 7      int  x ;
 8 public  :
 9  temp()
10   {x  =   5 ;}
11    /*   void operator ++(void)
12    {
13        x++;
14    }
15   
16  void operator ++( int)
17    {
18        x++;
19    } */

20    temp &  operator  ++ ()
21     {
22       x ++ ;
23    cout  <<   " ++a "   <<  endl;
24     return   * this ;
25    }

26
27    temp &  operator  ++ ( int )
28     {
29       x ++ ;
30    cout  <<   " a++ "   <<  endl;
31     return   * this ;
32    }

33    
34     void  show()
35     {
36      cout  <<  x;
37    }

38 }
;
39
40 int  main()
41 {
42 /*
43   operator ++(void)  => ++a;
44   operator ++(int)   => a++;
45 */

46 temp a;
47 ++ a;   // 只能++a,而a++就会有警告。
48 a ++ ;
49 a.show();
50   system( " pause " );
51 return   0 ;
52 }

53

operator ++(void)  => ++a;
operator ++(int)     => a++;

++a;  //call operator++(void)。
a++;  //call operator++(int)

posted on 2006-04-28 11:01 soochow_hhb 以java论成败 以架构论英雄 阅读(455) 评论(0)  编辑  收藏 所属分类: Reading


只有注册用户登录后才能发表评论。


网站导航: