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是什么意思:
展开
2个回答
展开全部
首先,一看到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在*号左边,作用是一样的。
在C程序中,const的用法主要有定义常量、修饰函数参数和修饰函数返回值。而在C++程序中,它除了上述功能外,还可以修饰函数的定义体,定义类中某个成员函数为恒态函数,即不改变类中的数据成员。对于定义常量的用法,这里就不多说了,重点看一下修饰函数参数、修饰函数返回值以及修饰函数的定义体。
0)修饰变量或指针
int ii=0;
const
int i=0;
//i是常量,i的值不会被修改
const int *p1i=&i;
//指针p1i所指内容是常量,可以不初始化
int const* p11i = &i;
//同上,const在*号左边,作用是一样的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询