一、先来提出问题

  1. const对象可以调用非const成员函数吗?
  2. 非const对象可以调用const成员函数吗?
  3. const成员函数内可以调用其它的非const成员函数吗?
  4. 非const成员函数内可以调用其他的const成员函数吗?

二、实践出真知

C++中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),例如:
C++中const和非const对象分别调用const和非const成员函数

2、若const成员函数想调用非const成员函数,则需要对this指针进行强制类型转换const_cast <T&>(this),例如:C++中const和非const对象分别调用const和非const成员函数

三、小总结

C++中const和非const对象分别调用const和非const成员函数
1、非const的即可以调用const的,也可以调用非const的
2、const的只能调用const的,想调用非const就需要强转

相关文章:

  • 2021-06-09
  • 2021-06-04
  • 2022-12-23
  • 2022-12-23
  • 2021-09-05
  • 2022-12-23
  • 2021-06-05
  • 2021-05-20
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-20
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案