首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

请教这个函数后面的const是什么意思

2012-09-08 
请问这个函数后面的const是什么意思啊const double PI3.14159//定义圆周率为符号常量class CCircle//定

请问这个函数后面的const是什么意思啊
const double PI=3.14159; //定义圆周率为符号常量
class CCircle //定义类
{
public:
CCircle() //构造函数
{
radius = 1;
}
Virtul ~CCircle(){} //析构函数
double Area() const; //计算圆的面积
double Circumference() const; //计算圆的周长
double GetRadius() const //取得圆的半径
{ return radius; }
void SetRadius(double r) //为半径设置新值
{ radius=r>0?r:1; }
private:
double radius; //数据成员


};

上面函数中,计算圆周长,面积函数后面为何有个const,为什么不是放在前面啊?

[解决办法]
修饰函数,表示不会修改变量
[解决办法]
举个例子吧:

const Stock land =Stock("hyd");  
land.show();   
land 是常量,但是类成员函数show无法保证不修改land,所以编译器将拒绝执行该段代码。这需要另外一种语法,即:   
void show() const;(声明)   void Stock::show() const{}(定义)。
[解决办法]

探讨
就是表示这个函数不会修改类的成员变量的值,是吗

[解决办法]
c++里常这么用,防止修改成员函数的变量被修改

热点排行