const成员函数
-
需求分析:
const的Human对象,不能调用普通的成员函数。 -
分析:
C++认为,const(常量)对象,如果允许去调用普通的成员函数,而这个成员函数内部可能会修改这个对象的数据成员!而这讲导致const对象不再是const对象! -
【类比】:专一男就是const对象,撩妹是方法实现,就是普通的成员函数,如果允许专一男调用撩妹,那么专一男,也就不专一了!
-
解决方案:
如果一个成员函数内部,不会修改任何数据成员,就把它定义为const成员函数。
定义:
string getName() const;
实现:
string Human::getName() const {
return name;
}
调用:
const Human h1;
Human h2;
h1.getName