c++中类成员函数的相互调用_c++类的成员函数调用其他成员函数-程序员宅基地

技术标签: c++  

本篇为博主在学习中遇到的问题,仅以此记录并供以后复习使用,同时希望能够帮助到有类似问题的同学。

一、同一个对象的类成员函数相互调用

        

 

 如图所示,类成员函数fun2直接调用类成员函数fun,最终如果对象调用fun2则会输出fun1,证明能够如此调用。

二、参数是另一个对象的类成员函数,调用参数中对象的成员函数

        1、首先第一种情况,如果是const 引用的情况

 

 可以看到无法成功调用,报错信息指出将const 转化为&,权限扩大,因此无法调用,如果仍想这样调用,则需要对程序稍作修改。

具体修改方法有两种:

1、


class test {
public:
	void fun() {
		cout << '1' << endl;
	}
	void fun2(test& ano) {
		ano.fun();
	}
};

将const删除,这样就不会有权限扩大的问题

2、

class test {
public:
	void fun() const {
		cout << '1' << endl;
	}
	void fun2(const test& ano) {
		ano.fun();
	}
};

 在被使用到的成员函数后面加const变为只读函数,而不改变类内成员的值,这样,也不会有权限扩大的问题,但是仅仅只有带const的只读函数能够被调用。

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_67828227/article/details/127262756

智能推荐

【绿色求索T1设备资产通1.5单机版】适用于资产密集型企业管理_求索t1设备资产通系统(单机版)注册码-程序员宅基地

文章浏览阅读899次。绿色求索T1设备资产通 1.5 单机版 [企业管理高价值设备资产的使用情况]下载软件大小:5.56MB软件语言:简体中文软件类别:软件授权:免费软件更新时间:2013-08-03 07:44:00应用平台:Win2K,WinXP,Win2003,Vista,Win7绿色软件下么官方地址:系统之家官网求索T1设备资产通 1.5 单机版 _求索t1设备资产通系统(单机版)注册码

王桂林C语言从放弃到入门课程-程序员宅基地

文章浏览阅读195次。课程目标16天,每天6节课,每节40分钟课堂实录,带你征服C语言,让所有学过和没有学过C语言的人,或是正准备学习C语言的人,找到学习C语言的不二法门。适用人群所有学过和没有学过C语言的人,或是正准备学习C语言的人!

xml实体注入问题_xml注入 内容注入-程序员宅基地

文章浏览阅读618次。xml实体注入问题 https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#SAXBuilder_xml注入 内容注入

CRM是否有效?可通过这些办法判断!_crm如何判断会员唯一性-程序员宅基地

文章浏览阅读204次。CRM就是关于客户与公司销售团队之间的客户关系管理,它是一个销售人员管理工具。作为一个工具型产品,CRM能减少更多的人为错误,提高工作效率,从而达到更好的营收。如果在使用CRM期间出现以下现象:不能从不同潜在客户来源中获取潜在客户,不能将潜在客户转化为销售订单,不能提供合适的销售渠道,不能提高销售人员的工作效率。说明你使用的CRM存在问题。如何判断CRM是否有效?为了检查CRM的有效性,销售人员可以对捕获到的潜在客户和具体需求进行跟踪。销售人员能够判断这个潜在客户是否值得做进一步的跟进,或者是否应该放_crm如何判断会员唯一性

数据库三大范式_怎么理解第三范式-程序员宅基地

文章浏览阅读617次,点赞2次,收藏3次。1.第一范式:强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项。2. 第二范式:要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性。3.第三范式:任何非主属性不依赖于其它非主属性。在实际的开发中需要考虑诸多问题,如:考虑商业化的需求和目标(成本,用户体验),数据库的性能更加重要在规范性能问题的时候,需要适当地考虑一下规范性有时候会故意给某些表增加一些冗余的字段(多表查询→单表查询)_怎么理解第三范式

随便推点

京东OLAP实践之路-程序员宅基地

文章浏览阅读640次。导读:本文主要介绍京东在构建OLAP从无到有各环节考虑的重点,由需求场景出发,剖析当前存在的问题,并提供解决方案,最后介绍OLAP的发展过程。▌需求场景1. 京东数据入口① 业务数据:订单..._京东 风控flink实践之路

qt qml与c++_qt c++ qml-程序员宅基地

文章浏览阅读1.4k次,点赞3次,收藏17次。QMl是一种高效的开发UI 的语言。QML(Qt Meta-Object Language,Qt元对象语言)是一种声明式编程语言,并且它是Qt框架的一个组成部分。Action 对应QAction,提供能够绑定到导航和视图的抽象的用户界面动作。StackView 对应QStackedWidget,提供基于栈的层叠布局。TabView 对应QTabWidget,提供带有标签的基于栈的层叠布局。TabView 对应QTabWidget,提供带有标签的基于栈的层叠布局。_qt c++ qml

详述GPS原理及RTK技术应用_rtk与gps数据的融合过程-程序员宅基地

文章浏览阅读8.9k次,点赞12次,收藏100次。详述GPS原理及RTK技术应用,包括四大卫星定位系统,GPS系统组成:GPS空间部分、地面监控系统和GPS信号接收器(GPS卫星定位车载终端);GPS定位技术(WGS-84坐标系),GPS定位原理(绝对定位原理,相对定位原理,静态相对定位,动态相对定位);GPS实时动态定位技术RTK的工作原理以及基准站和流动站组成,GPS实时差分定位RTK技术的缺点,移动站的解算状态;GPS网络RTK技术(VRS系统)组成和原理,作业优势,还有GPS_NMEA 0183协议相关语句介绍。_rtk与gps数据的融合过程

CSS基础(超详解)-程序员宅基地

文章浏览阅读2.3w次,点赞103次,收藏800次。Css (层叠样式表)是种格式化网页的标准方式, 用于控制设置网页的样式,并且允许CSS样式信息与网页内容(由HTML语言定义)分离的一种技术。_css

Android 百度地图SDK 自动定位、标记定位_安卓开发地图获取定位-程序员宅基地

文章浏览阅读1.2w次,点赞98次,收藏201次。先看效果图,如果不是你想要的,也就不浪费你时间了,这样对大家都好。如果是你满意的那样,我们就可以开始写了,首先创建一个名为MapDemo的项目。打开AndroidManifest.xml,复制你的包名然后进入百度地图开放平台,没有注册的小伙伴先注册,已注册的就直接登录,登录进去之后找到控制台→我的应用→创建应用点击之后进入,填写相关资料输入了应用名称、选择了应用类型和启用的服务,输入了包名。还差开发版和发布版的SHA1了① 获取开发版SHA1鼠标点击右侧边栏的Gradle→ app→Ta_安卓开发地图获取定位

java特殊字符转html_html特殊字符转换(java)-程序员宅基地

文章浏览阅读431次。/** * 把文本编码为Html代码 * @param target * @return 编码后的字符串 */ public static String htmEncode(String target) { StringBuffer stringbuffer = new StringBuffer(); int ...

推荐文章

热门文章

相关标签