C++中const和非const对象分别调用const和非const成员函数

一、先来提出问题

  1. const对象可以调用非const成员函数吗?
  2. 非const对象可以调用const成员函数吗?
  3. const成员函数内可以调用其它的非const成员函数吗?
  4. 非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对象(成员函数)就需要强转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值