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

这个是什么意思???

楼主calmman1980(calmman)2003-08-02 00:04:52 在 C/C++ / C语言 提问

int   fun(void)   const  
  {  
    \\..  
  } 问题点数:20、回复次数:9Top

1 楼haohe(舒克)回复于 2003-08-02 00:43:33 得分 1

不修改外边的数据Top

2 楼eric8231(1328cire)回复于 2003-08-02 00:59:04 得分 2

你的意思是问   函数声明后面加“const”?  
   
  这样的声明规则用于类的成员函数,目的是禁止对类的数据成员修改,实现方法大概是把this指针变成指向常量对象的this指针。Top

3 楼pengzhenwanli(紫气日盈)回复于 2003-08-02 01:45:37 得分 3

非成员函数不能使用这个修饰符  
  int   fun(void)   const  
  {  
    \\..  
  }  
  所以说你这样根本不对。  
  Top

4 楼wowowowo(1)回复于 2003-08-02 12:03:34 得分 2

如此用法只能用在成员函数中   表示此成员函数不会修改类的数据成员Top

5 楼calmman1980(calmman)回复于 2003-08-02 16:26:01 得分 0

谢谢,上面各位,这个是我在类成员函数中看到的.  
  可是各位的意思我还是不太明白  
  函数的参数类型声明称void有什么意思?  
  函数的后面加上了const是表示返回值是常量吗?  
  再次感谢!!谢谢Top

6 楼LoopyPuzzle(浪子无名)回复于 2003-08-02 16:51:06 得分 0

参数声明为void表明它不需要传递参数。而函数后面加const代表这是常函数成员,是常对象的唯一对外接口。因为如果定义了该类的常对象,那么常对象只能访问这种带有const的常函数成员(因为它可以保证不改变对象的数据成员),你明白么?Top

7 楼calmman1980(calmman)回复于 2003-08-02 18:56:22 得分 0

谢谢,楼上大哥!  
  基本明白了,不过还想请教一下,你说的这个常对象是啥意思???  
  什么时候需要定义这个常对象?  
  什么函数需要加上const的后缀修饰?Top

8 楼WindsonZhL(风之子)回复于 2003-08-02 19:27:41 得分 6

即   const   X   obj;   。obj只能访问类似func()   const   这样的函数,obj.func();   。  
   
  但func()   可以被任何类型的对象访问,而若func()返回的是   X   的数据成员,该成员不能被更  
  改。如:  
   
  class   X  
  {  
  public:  
    int   size;  
    …………  
    int   func()   const;  
  };  
   
  int   X::func()   const  
  {  
    return   size;  
  }Top

9 楼LoopyPuzzle(浪子无名)回复于 2003-08-03 15:47:49 得分 6

常对象顾名思义就是不可以变化的对象,这里的不可以变化指的是数据成员不发生变化,因为在程序中有时是需要使用这种不会变化的对象的。比如说我在传递参数的时候有时可以改变某个对象的数据成员,但是你又不想让其发生改变,这时就可以使用常对象作参数进行传递。而要访问常对象的数据成员(一般数据成员都是私有类型),必须使用这些常函数成员作为唯一的对外接口。所以所有你认为常对象应该具有的方法(行为),均应该有所对应的常函数成员。Top

相关问题

  • 这个是什么意思?
  • 这个是什么意思!
  • 这个是什么意思
  • 这个警告是什么意思
  • 这个格式是什么意思?
  • 这个函数是什么意思?
  • 这个语句是什么意思啊?
  • 这个SQL语句是什么意思?
  • 这个问题是什么意思?
  • 这个语句是什么意思?

关键词

  • 函数
  • 数据
  • 成员
  • 对象
  • 意思
  • 参数
  • func
  • 类
  • 谢谢
  • 传递

得分解答快速导航

  • 帖主:calmman1980
  • haohe
  • eric8231
  • pengzhenwanli
  • wowowowo
  • WindsonZhL
  • LoopyPuzzle

相关链接

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

广告也精彩

反馈

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