C++问题:const放在函数体前代表什么意思?

#include<iostream>usingnamespacestd;//声明类PointclassPoint{public:Point(float=0,float=0... #include <iostream> using namespace std; //声明类Point class Point {public: Point(float=0,float=0); void setPoint(float,float); float getX() const {return x;} float getY() const {return y;} friend ostream & operator<<(ostream &,const Point &); protected: float x,y; }; //定义Point类的成员函数 //Point的构造函数 Point::Point(float a,float b) {x=a;y=b;} //设置x和y的坐标值 void Point::setPoint(float a,float b) {x=a;y=b;} //输出点的坐标 ostream & operator<<(ostream &output,const Point &p) {output<<"["<<p.x<<","<<p.y<<"]"<<endl; return output; } int main() {Point p(3.5,6.4); cout<<"x="<<p.getX()<<",y="<<p.getY()<<endl; p.setPoint(8.5,6.8); cout<<"p(new):"<<p<<endl; return 0; } ========================================================== 具体的程序就不用看了,告诉我下函数float getX() const {return x;} 里的那个位置加个const是什么意思: 展开
 我来答
小堡镇开大文章4237
2014-07-07 · TA获得超过123个赞
知道答主
回答量:183
采纳率:66%
帮助的人:63.3万
展开全部
任何不会修改数据成员的函数都应该声明为const 类型。如果在编写const 成员函 数时,不慎修改了数据成员,或者调用了其它非const 成员函数,编译器将指出错误, 这无疑会提高程序的健壮性
天蝎神经侠侣
高粉答主

推荐于2017-09-28 · 关注我不会让你失望
知道大有可为答主
回答量:7533
采纳率:67%
帮助的人:724万
展开全部
首先,一看到const关键字,我们的第一反应就是定义常量。的确,这没有错,const就是constant的缩写嘛,但是事实上他的用法远不止这些。接下来我们一一来讲解。
在C程序中,const的用法主要有定义常量、修饰函数参数和修饰函数返回值。而在C++程序中,它除了上述功能外,还可以修饰函数的定义体,定义类中某个成员函数为恒态函数,即不改变类中的数据成员。对于定义常量的用法,这里就不多说了,重点看一下修饰函数参数、修饰函数返回值以及修饰函数的定义体。
0)修饰变量或指针
int ii=0;
const
int i=0;

//i是常量,i的值不会被修改

const int *p1i=&i;
//指针p1i所指内容是常量,可以不初始化
int const* p11i = &i;
//同上,const在*号左边,作用是一样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式