首页 > 代码库 > const成员函数和const对象的调用关系
const成员函数和const对象的调用关系
代码:
class A{ private: int a; public: void set() { }
<span style="white-space:pre"> </span>void set () const
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>} };
常量版本的函数:void set()const {};
非常量版本的函数:void set (){};
const类型的对象:const A object1;
非const 类型的对象:A object2;
那么:
object2可以调用const类型的成员函数和非const类型的成员函数;
而object1只能调用const类型的函数,不能调用非const类型的函数。
总结一句话:const对象只能调用const函数,非const对象可以随便调用。
上面的代码实现了set函数的重载,那么,对于上述的object1和object2,他们在调用set函数时,就会自动根据自己是const类型的还是非const类型的对象,来选择性地调用set函数。
即:
object1.set();//调用的是void set ()const;
object2.set();//调用的是void set ();
const成员函数和const对象的调用关系
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。