首页 > 代码库 > 记得适当的声明成员函数为const.

记得适当的声明成员函数为const.

如果确信一个成员函数不用修改它的对象,就可以声明它为const,这样就可以作用于他的const对象了.因为const对象只能调用它的const方法.

 1 template<class T> class Vector 2 { 3 public: 4     int length() const//如果这里没有const,那么该程序会运行失败,因为padded_length的方法中的参数是const的. 5     { 6         return 2; 7     }; 8     int length(int); 9 };10 template<class T>11 int padded_length(const Vector<T>&v,int n)12 {13     int k = v.length();14     return k>n?k:n;15 }16 int main(int argc,char* argv[])17 {18     Vector<int> a;19     cout<<padded_length(a,3)<<endl;20     return 0;21 }