CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

请教高手

楼主qiyanchao(qiyanchao)2003-11-01 21:53:54 在 C/C++ / C语言 提问

在c++   primer   中有这样的讲述  
  1   改变类成员函数的定义用额外的参数this   指针来定义每个成员函数例如  
   
  inline   void   move(   Screen*   this,   int   r,   int   c   )  
  {  
  if   (   checkRange(   r,   c   )   )  
  {  
  int   row   =   (r-1)   *   this->_width;  
  this->_cursor   =   row   +   c   -   1;  
  }  
  在这个成员函数定义中显式使用this   指针来访问类数据成员_width   和_cursor  
  2   改变每个类成员函数的调用加上一个额外的实参——被调用对象的地址例  
  myScreen.move(   2,   2)  
  被转化为  
  move(   &myScreen,   2,   2   )  
   
  可是我按这样的思想去做(我用vc的编译器),根本编译不过去  
  说有错误,我想是不是vc编译器不能这样做  
   
  #include   <iostream>  
  #include   <string>  
  using   namespace   std;  
  class   fun1  
  {  
  public:  
  int   x1;  
  int   x2;  
  fun1()  
  {  
          x1=0;  
          x2=0;  
  }  
  fun1(int   x   ,int   y)  
  {  
  x1=x;  
  x2=y;  
  }  
   
   
  int   calcusum(fun1   *this)////就是这句  
  {  
  int   sum1   ;  
  sum1=this->x1+this->x2;  
                  return   sum1;  
  }  
          ~fun1()  
  {}  
   
  };  
  int   main()  
  {  
   
  return   0;  
  } 问题点数:0、回复次数:9Top

1 楼ttlb(__ttlb__ttlb__小鸟)回复于 2003-11-01 21:56:42 得分 0

upTop

2 楼qiyanchao(qiyanchao)回复于 2003-11-01 22:05:27 得分 0

up    
  ;DTop

3 楼Beover1984(摇滚人生)回复于 2003-11-01 22:12:47 得分 0

还是用DEV-C++吧,标准Top

4 楼Fuzzier(Fuzzier)回复于 2003-11-01 22:19:10 得分 0

this是个keyword,怎么可以用来做自定义的变量名呢?  
  Top

5 楼robbie24(独行虾)回复于 2003-11-01 22:25:43 得分 0

...   孩子   ...他给你看的是伪码   ...   怎么可能去实现呢?  
  楼上也说过了,this是关键字...Top

6 楼qiyanchao(qiyanchao)回复于 2003-11-01 22:51:24 得分 0

NO  
  c++   primer   中这是真正的原码,不信你去查查  
  不是伪码Top

7 楼WindFroce(半支烟)回复于 2003-11-02 04:30:14 得分 0

按理说应该可以吧!fun1   *this   这句就是引用吗?  
  你的   main()函数里没代码,没有实际的对象是不可以的,生名个对项就可以了Top

8 楼langzi8818(┤天道酬勤┝爱老婆┦┷我是来学习滴┷)回复于 2003-11-02 09:12:09 得分 0

fun1   *this;  
  这里this被你作为一个参数了,再说类函数里的this是   编译器自己自动加上去的。:(Top

9 楼sunjx119(睿锐)回复于 2003-11-02 11:17:58 得分 0

楼上正解...Top

相关问题

关键词

  • c++
  • 函数
  • 编译器
  • fun
  • 成员
  • move
  • sum

得分解答快速导航

  • 帖主:qiyanchao

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo