码迷,mamicode.com
首页 > 其他好文 > 详细

const成员函数和const对象的调用关系

时间:2014-09-26 19:37:48      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:class   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对象的调用关系

标签:class   const   

原文地址:http://blog.csdn.net/xiqingnian/article/details/39582861

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!