1、常函数:
1)不可修改任何成员数据的值
2)构成重载
2、常对象
如const Circle c; //不可修改
只能调用常函数,确保数据不被修改
void f()
{
cout<<"a"<<endl;
}
void f() const
{
cout<<"b"<<endl;
}
Circle c1;
c1.f();//输出a,非常对象默认调用非常函数,所以当只有常函数时,亦可调用常函数
const Circle c2;
c2.f();输出b,常对象必须调用常函数,因此为了程序封装的完整性,常同一个函数写两份(非常函数,常函数)