1、函数前后的const
函数前面的const: 返回值为const,const的对象,不能引用非const的成员函数。
函数后面的const: const函数,const的函数不能对其数据成员进行修改操作。
class A{
public:
int a1()
{
_a = 10;
return _a;
}
int a2()const
{
return _a;
}
int a3()const
{
//_a = 30; //报错 const的函数不能对其数据成员进行修改操作。
return _a;
}
private:
int _a;
};
int main()
{
A a;
a.a1();
a.a2(); //非const的对象可以引用const的成员函数
a.a3();
const A b;
b.a1(); //报错 const的对象,不能引用非const的成员函数
b.a2();//const的对象只能引用const的成员函数
b.a3();
return 0;
}