一、先来提出问题
- const对象可以调用非const成员函数吗?
- 非const对象可以调用const成员函数吗?
- const成员函数内可以调用其它的非const成员函数吗?
- 非const成员函数内可以调用其他的const成员函数吗?
二、实践出真知
实践发现:
1、const对象可以调用const成员函数
2、const对象不能调用非const成员函数
3、非const对象可以调用const成员函数
4、非const对象可以调用非const成员函数
5、const成员函数不能调用非const成员函数
6、非const成员函数可以调用非const成员函数
1、若const对象想调用非const成员函数,则需要进行强制类型转换const_cast <T&>(Obj),例如:
2、若const成员函数想调用非const成员函数,则需要对this指针进行强制类型转换const_cast <T&>(*this),例如:
三、小总结
1、非const对象(成员函数)即可以调用const对象(成员函数),也可以调用非const对象(成员函数)
2、const对象(成员函数)只能调用const对象(成员函数),想调用非const对象(成员函数)就需要强转