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

关于参数修饰符const的用法,该如何处理

2012-02-11 
关于参数修饰符const的用法我最近在自学C++,现在我有一个看书时产生了一个疑问,书上定义了一个叫Money的类

关于参数修饰符const的用法
我最近在自学C++,现在我有一个看书时产生了一个疑问,书上定义了一个叫Money的类
class   Money
{
      public:
          friend   Money   add(const   Money&   amount1,const   Money&   amount2);
          ……
      private:
          ……
          double   get_value()   const;
          void   output(ostream&   outs)   const;
          ……
}
我想问一下,什么时候const放在参数前面,什么时候const放在函数声明的后面

[解决办法]
const就是不让改
放在参数,就是参数不让改
放在最后,就是啥也不让改

这个是编译期的东东
如果绕过编译器。。。。
[解决办法]
1. const常量,如const int max = 100;
2. const 修饰类的数据成员。如:
class A

{

const int size;



}
3. const修饰指针的情况,见下式:

int b = 500;
const int* a = & [1]
int const *a = & [2]
int* const a = & [3]
const int* const a = & [4]
4. const的初始化
5. 另外const 的一些强大的功能在于它在函数声明中的应用。在一个函数声明中,const 可以修饰函数的返回值,或某个参数;对于成员函数,还可以修饰是整个函数。
6. 类成员函数中const的使用
一般放在函数体后,形如:void fun() const;
任何不会修改数据成员的函数都因该声明为const类型。如果在编写const成员函数时,不慎修改了数据成员,或者调用了其他非const成员函数,编译器将报错,这大大提高了程序的健壮性。
[解决办法]
const放在参数前面:

这个参数在函数内不能被改

const放在函数声明的后面 :

这个成员函数不能修改任何类的成员变量

热点排行