Const 修饰成员函数的作用

 Const 修饰成员函数的作用.
黑月亮 发表于 2005-8-7 16:50:00 
const成员函数

  任何不会修改数据成员的函数都应该声明为const类型。如果在编写const成员函数时,不慎修改了数据成员,或者调用了其它非const成员函数,编译器将指出错误,这无疑会提高程序的健壮性。

以下程序中,类stack的成员函数GetCount仅用于计数,从逻辑上讲GetCount应当为const函数。编译器将指出GetCount函数中的错误。

  class Stack

{

    public:

    void   Push(int elem);

    int   Pop(void);

    int   GetCount(void) const; // const成员函数

    private:

    int   m_num;

    int   m_data[100];

};

 

  int Stack::GetCount(void) const

{
    ++ m_num; // 编译错误,企图修改数据成员m_num

  Pop();     // 编译错误,企图调用非const函数

  return m_num;

  }

  const成员函数的声明看起来怪怪的:const关键字只能放在函数声明的尾部,大概是因为其它地方都已经被占用了。
 
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值