简单问题,在线等

expresion 2003-08-23 10:25:32
class Shape
{
public:
Shape(double x,double y):xCoord(x),yCoord(y){}
virtual double Area()const{return 0.0;}
protected:
double xCoord,yCoord;
};


virtual double Area()const{return 0.0;}请问const在这里是什么意思啊
...全文
26 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
panther8888 2003-08-24
  • 打赏
  • 举报
回复
函数后加const说明这个函数是常的,也就是说它不能改变对像的状态,它只能用于成员函,用const修饰之后只能由常对像调用,并且不可以修改对像的数据,除非数用用mutable来修饰或用强制类型转换,同时也不能调用没有用const修饰的成员函数,
紫郢剑侠 2003-08-24
  • 打赏
  • 举报
回复
常量成员函数,就说函数不能改变成员变量的值,但能够访问.即只读
loveghb 2003-08-24
  • 打赏
  • 举报
回复
因为area这个接口要被子类来继承并实现,但是不能让它改变类内部的数据,所以如此喽!
vsfan 2003-08-23
  • 打赏
  • 举报
回复
注:但是对于有mutable修饰的变量却是可以改的
nirvana_ya 2003-08-23
  • 打赏
  • 举报
回复
常量成员函数,就说函数不能改变成员变量的值,但能够访问.
Area()函数不能改变xCoord,yCoord
vitingman 2003-08-23
  • 打赏
  • 举报
回复
const用在这里就是这个函数不能修改类成员变量的意思
通常类中的“只读”函数(例如getdata)是要被这么设计的

69,369

社区成员

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

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