CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

快快快,全局函数里有this指针么?

楼主VCMFC123(努力学好VC/MFC)2006-06-01 14:42:59 在 C/C++ / C++ 语言 提问

顺便还有一个迟迟没有答案的问题,顺便帮忙解答一下,谢谢:  
   
  按照C++的说法,CFrameWnd的Create函数是不是把CWnd的virtual   Create函数“隐藏(hide)”了?  
   
   
  我查看了一下,一个8个参数,一个7个参数,这样是不是就把基类的虚函数隐藏了?  
  如果CFrameWnd的派生类对象调用Create函数(自己未定义),是不是调用CFrameWnd的Create?  
  如果要调用CWnd的Create,是不是需要这样:   a.CWnd::Create(...);   (假设a是CFrameWnd的派生类的对象)  
   
  不知道我有没有理解错。  
  问题点数:20、回复次数:9Top

1 楼ouyh12345(五岭散人)回复于 2006-06-01 15:02:20 得分 3

全局函数里没有this指针。  
  不是隐藏。  
  返回值和参数列表都一样时,才是隐藏Top

2 楼VCMFC123(努力学好VC/MFC)回复于 2006-06-01 15:29:47 得分 0

各位是不是这个意思,只要进入全局函数,在里面这样调用函数,比如  
   
  abc()   <------------这个是全局的,可能是由某各类的对象调用的  
  {  
      def();  
  }  
   
  那么def()必定也是全局函数Top

3 楼fdimim(猿莫求愚√))回复于 2006-06-01 15:42:19 得分 3

全局是和局部相对立的。  
  别管它,只要看是不是类的成员函数。  
  只有类的成员函数要this,不是的就没有this。Top

4 楼fdimim(猿莫求愚√))回复于 2006-06-01 15:43:25 得分 0

不过好久没看c++了,搞不清隐藏和覆盖了。Top

5 楼VCMFC123(努力学好VC/MFC)回复于 2006-06-06 13:06:47 得分 0

up一下,请人再帮忙看看Top

6 楼Johnny_de(是的,当时就是这样的!)回复于 2006-06-06 13:28:01 得分 7

既然是全局函数了,就是文件范围内所有的对象都能访问,那么this又是对应不同的对象本身的,那么楼主你觉得全局变量还会有this指针吗?  
   
  对于你的第二个问题,如果CWnd继承于CFrameWnd,那么Create函数如果是虚函数,那么就不能说是覆盖。Top

7 楼sharpdew(风刃)回复于 2006-06-06 13:32:57 得分 7

之所以引入this,是为了把member   function转化为nonmember对等的实体,那么你想全局函数中有没有this咯?肯定是没有的!  
  至于你后面的分析,光从你叙述来看,我想你是对的!Top

8 楼cattlenzq(吃狼的豆腐(不要给分了,散起来真麻烦!))回复于 2006-06-06 19:48:59 得分 0

么Top

9 楼tyl_22(你跺你也麻)回复于 2006-06-06 19:54:36 得分 0

没有Top

相关问题

关键词

得分解答快速导航

  • 帖主:VCMFC123
  • ouyh12345
  • fdimim
  • Johnny_de
  • sharpdew

相关链接

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

广告也精彩

反馈

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