【C++】const修饰运算符重载以及函数


一、const

在这里插入图片描述

在这里插入图片描述

这里因为Print里面参数的隐藏类型是(Dateconst this)类型,而我们传的参数类型为const Date类型,转换成隐藏的this形式就是const Dateconst this类型,实参与形参不符合所以会报错,这里是因为权限的放大,从const Date到Date。

权限只能够平移或者缩小不能够放大,如果我们刚开始形参的类型改为const类型不就好了吗?这样实参为const类型,就是权限的平移,实参为Date类型传给形参就是权限的缩小,因为形参类型为const

二、使用方法

在这里插入图片描述

要在函数名的后面加上const。不能在括号里面,因为里面隐藏了一个形参this指针,其不能被改变。

``在这里插入图片描述

总结

成员函数后面加上const后:普通与const类型都能够调用

问:能不能所有成员函数都加上const呢?
答:不能要修改的成员变量是不能加的
结论:只要成员函数内部不修改成员变量,都应该加const,这样const和普通对象都能用

扫描二维码关注公众号,回复: 15998926 查看本文章

猜你喜欢

转载自blog.csdn.net/m0_74774759/article/details/130853652