请教一个简单问题

linfe 2003-08-22 02:05:56
在函数申明中有这种情况:
int Length() const
最后的这个const 有什么用呢?
...全文
26 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
linfe 2003-08-22
  • 打赏
  • 举报
回复
谢谢。
不过我的分不多,只能表示一点意思了!:)
sevecol 2003-08-22
  • 打赏
  • 举报
回复
还要注意的一点是const对象只能调用其const成员函数。
ppm07 2003-08-22
  • 打赏
  • 举报
回复
还有如果const写在传入参数中,就表示传入的参数在这个函数中不能改变。
把const写在成员函数最后表示不能改变所有成员变量的值可能是因为所有其它能放的地方都有了其他的含义了。:)
sevecol 2003-08-22
  • 打赏
  • 举报
回复
to blackhunter1(FallEnStar) :

应该是
//example
class rect
{
private :
int length,width;
private :
int length() const{ return length;}//正确,length没有改变。
//int length() const { return length--;} //错误,因为length被改变了。
}
zhang,qiuping 2003-08-22
  • 打赏
  • 举报
回复
up
linfe 2003-08-22
  • 打赏
  • 举报
回复
我知道了。
在这里是作为一个求长度的函数,不能改变这个要求的对象的长度。
但是它还有没有其他的作用呢?
ppm07 2003-08-22
  • 打赏
  • 举报
回复
写在前面就表示返回值是常量了。
zhang,qiuping 2003-08-22
  • 打赏
  • 举报
回复
int Length() const; //const 是不让Length()函数改变数据,通常用于类。

//example
class rect
{
private :
int length,width;
private :
int length() const{ return length;}//正确,length没有改变。
//int length() const { return length-1;} //错误,因为length被改变了。
}
linfe 2003-08-22
  • 打赏
  • 举报
回复
它为什么不是写在前面的呢?
一般的const申明都是写在变量名称前面。
shishiXP 2003-08-22
  • 打赏
  • 举报
回复
不能改变所有成员变量的值

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧