const成员函数

总结了一下以前有所忽略的,关于const成员函数的相关知识。

class class_1 {
    void fun() const;
    void fun();
}

如上所示第一个函数的声明即为const成员函数。其const修饰符实际上限定了传递给其的this指针为指向const型的指针,即成员函数无法对其类对象做改变。

进而const 成员函数内只能够调用其他的const 成员函数,无法调用普通成员函数。

const 成员函数的声明方法只有如上一种,const修饰符无法置于形参列表前。该声明方法也无法使用在非成员函数上。

如第二个函数的声明所示,const 成员函数与非const成员函数可重载。const类对象默认调用(并只可调用)const成员函数,非const类对象默认调用非const成员函数。

posted on 2010-09-02 16:31  MILLIONhere  阅读(155)  评论(0)    收藏  举报