码迷,mamicode.com
首页 > 其他好文 > 详细

increment/decrement/dereference操作符

时间:2016-08-21 19:45:48      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

 1 #include<iostream>
 2 using namespace std;
 3 class INT
 4 {
 5  friend ostream& operator<<(ostream& os,const INT& i);
 6  public:
 7  INT(int i):m_i(i){};
 8 
 9  //prefix:increament and then fetch
10  INT& operator++()
11  {
12   ++(this->m_i);//随着class的不同,该行应该有不同的操作
13   return *this;
14  }
15 
16  //prefix:fetch and then increment
17  const INT operator++(int)
18  {
19   INT temp = *this;
20   ++(*this);
21   return temp;
22  }
23 
24 
25 //prefix:decrement and then fetch
26 INT& operator--()
27 {
28  --(this->m_i);
29  return *this;
30  }
31 
32 //prefix:fetch and then decrement
33 const INT& operator--(int)
34 {
35  INT temp = *this;
36  --(*this);
37  return temp;
38 }
39 
40 //dereference
41 int& operator*() const
42 { return (int&)m_i;}
43 
44 private:
45 int m_i;
46 };
47 
48 ostream& operator<<(ostream& os,const INT& i)
49 {
50  os<<[<<i.m_i<<];
51  return os;
52 }
53 
54 int main()
55 {
56 INT I(5);
57 cout<<I++;//[5]
58 cout<<++I;//[7]
59 cout<<I--;//[7]
60 cout<<--I;//[5]
61 cout<<*I;//5
62 }

 

increment/decrement/dereference操作符

标签:

原文地址:http://www.cnblogs.com/wxdjss/p/5793249.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!