C++ 技术中心

   :: 首页 :: 联系 ::  :: 管理
  160 Posts :: 0 Stories :: 87 Comments :: 0 Trackbacks

公告

郑重声明:本BLOG所发表的原创文章,作者保留一切权利。必须经过作者本人同意后方可转载,并注名作者(天空)和出处(CppBlog.com)。作者Email:coder@luckcoder.com

留言簿(27)

搜索

  •  

最新随笔

最新评论

评论排行榜

#include <iostream>

using namespace std;
class counter{
public:
    counter() 
{ v=0; }
    counter 
operator ++();  //前置
    counter operator ++(int );//后置
    void print() { cout<<v<<endl; }
private:
    unsigned v;
}


counter counter::
operator ++()  //前置
{
    v
++;
    
return *this;
}
 

counter counter::
operator ++(int)  //后置
{
    counter t;
    t.v 
= v++;
    
return t;
}
 

void main()
{
    counter c;
    
for(int i=0; i<8; i++)c++;
    c.print();
for(i=0; i<8; i++)++c;
    c.print();
}
 

posted on 2011-03-03 19:23 C++技术中心 阅读(620) 评论(2)  编辑 收藏 引用 所属分类: C++ 基础

Feedback

# re: ++运算符前置与后置 2011-03-11 15:20 飞天
这个运行结果 前置++和后置++ 结果对于C本身没什么影响,只对于c++这个整体的返回有影响  回复  更多评论
  

# re: ++运算符前置与后置 2011-03-11 15:28 C++技术中心
@飞天
您好,你说的没错.比如int a=3; int b = a++;此时b还是3.但是a变量本身已经是4了.以上++运算符重载演示的是同样的效果.  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理