您的位置:首页 > 其它

const可以出现在函数头,参数列表,以及参数尾

2009-04-24 13:44 866 查看
const可以出现在函数头,参数列表,以及参数尾

如: const int& SetPoint(const int& param) const

第一个const: 函数的返回值限定为const,即返回值不能被修改. const int a=SetPoint(...) a在此之后便不能被修改

第二个const:就是你所问的const 指函数的形参为const类型,函数体内不能被修改.

第三个const:即类的成员函数后面加 const 表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。

在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,而对于改变数据成员的成员函数不能加 const。所以 const 关键字对成员函数的行为作了更加明确的限定:有 const 修饰的成员函数(指 const 放在函数参数表的后面,而不是在函数前面或者参数表内),只能读取数据成员,不能改变数据成员;没有 const 修饰的成员函数,对数据成员则是可读可写的。

在类的成员函数后面加 const ,则常量(即 const)对象可以调用 const 成员函数,而不能调用非const修饰的函数。正如非const类型的数据可以给const类型的变量赋值一样,反之则不成立。

对于const成员函数,"不能修改类的数据成员,不能在函数中调用其他不是const的函数",这是由const的属性决定的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐