友元(个人学习笔记黑马学习)

1、全局函数做友元

#include <iostream>
using namespace std;
#include <string>//建筑物类
class Building {//goodGay全局函数是	Building好朋友 可以访问Building中私有成员friend  void goodGay(Building* building);public:Building() {m_SittingRoom = "客厅";m_BedRoom = "卧室";}string m_SittingRoom;//客厅private:string m_BedRoom;//卧室};//全局函数
void goodGay(Building* building) {cout << "好基友全局函数 正在访问:" << building->m_SittingRoom << endl;cout << "好基友全局函数 正在访问:" << building->m_BedRoom << endl;}void test01() {Building building;goodGay(&building);
}int main() {test01();system("pause");return 0;
}


2、类做友元

#include <iostream>
using namespace std;
#include <string>//类做友元
class Building;class GoodGay {public:GoodGay();void visit();//参观函数 访问Building中的属性Building * building;
};class Building {//GoodGay类是本类的好朋友 可以访问本类中私有成员friend class GoodGay;
public:Building();string m_SittingRoom;private:string m_BedRoom;
};//类外写成员函数
Building::Building() {m_SittingRoom = "客厅";m_BedRoom = "卧室";
}GoodGay::GoodGay() {//创建建筑物对象building = new Building;
}void GoodGay::visit() {cout << "好基友类正在访问:" << building->m_SittingRoom << endl;cout << "好基友类正在访问:" << building->m_BedRoom << endl;}void test01() {GoodGay gg;gg.visit();
}int main() {test01();system("pause");return 0;
}


3、成员函数做友元

#include <iostream>
using namespace std;
#include <string>class Building;class GoodGay {public:GoodGay();void visit();// 访问Building中私有成员void visit2();// 不可以访问Building中私有成员Building * building;
};class Building {//告诉编译器 GoodGay类下的visit成员函数作为本类的好朋友,可以访问私有成员friend void GoodGay::visit();public:Building();string m_SittingRoom;private:string m_BedRoom;
};//类外写成员函数
Building::Building() {m_SittingRoom = "客厅";m_BedRoom = "卧室";
}GoodGay::GoodGay() {//创建建筑物对象building = new Building;
}void GoodGay::visit() {cout << "visit 函数正在访问:" << building->m_SittingRoom << endl;cout << "visit 函数正在访问:" << building->m_BedRoom << endl;}
void GoodGay::visit2() {cout << "visit2 函数正在访问:" << building->m_SittingRoom << endl;//cout << "visit 函数正在访问:" << building->m_BedRoom << endl;}void test01() {GoodGay gg;gg.visit();gg.visit2();
}int main() {test01();system("pause");return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/118939.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringMVC

学习流程图&#xff1a; 四个学习模块&#xff1a; 1、SpringMVC入门 2、请求与响应 3、rest风格 4、ssm整合 5、拦截器 第一章、SpringMVC入门 1、简介 SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架。 SpringMVC的开发步骤&#xff1a; …

vscode调教配置:快捷修复和格式化代码

配置vscode快捷键&#xff0c;让你像使用idea一样使用vscode&#xff0c;我们最常用的两个功能就是格式化代码和快捷修复&#xff0c;所以这里修改一下快捷修复和格式化代码的快捷键。 在设置中&#xff0c;找到快捷键配置&#xff1a; 然后搜索&#xff1a;快捷修复 在快捷键…

即时通讯开发中的性能优化技巧

即时通讯开发在如今的数字化社会中扮演着重要角色&#xff0c;然而&#xff0c;随着用户对即时通讯应用的需求不断增长&#xff0c;开发者们面临着使其应用保持高性能和可靠性的挑战。本文将探讨即时通讯开发中关键的性能优化技巧&#xff0c;帮助开发者们提升应用的用户体验和…

基于Java的OA办公管理系统,Spring Boot框架,vue技术,mysql数据库,前台+后台,完美运行,有一万一千字论文。

基于Java的OA办公管理系统&#xff0c;Spring Boot框架&#xff0c;vue技术&#xff0c;mysql数据库&#xff0c;前台后台&#xff0c;完美运行&#xff0c;有一万一千字论文。 系统中的功能模块主要是实现管理员和员工的管理&#xff1b; 管理员&#xff1a;个人中心、普通员工…

c语言每日一练(13)

前言&#xff1a;每日一练系列&#xff0c;每一期都包含5道选择题&#xff0c;2道编程题&#xff0c;博主会尽可能详细地进行讲解&#xff0c;令初学者也能听的清晰。每日一练系列会持续更新&#xff0c;上学期间将看学业情况更新。 五道选择题&#xff1a; 1、程序运行的结果…

图文详解PhPStudy安装教程

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 官方下载 请在PhPStudy官方网站下载安装文件&#xff0c;官方链接如下&#xff1a;https://m.xp.cn/linux.html&#xff1b;图示如下&#xff1a; 请下载PhPStudy安装文件…

SpringCloudAlibaba Gateway(一)简单集成

SpringCloudAlibaba Gateway(一)简单集成 随着服务模块的增加&#xff0c;一定会产生多个接口地址&#xff0c;那么客户端调用多个接口只能使用多个地址&#xff0c;维护多个地址是很不方便的&#xff0c;这个时候就需要统一服务地址。同时也可以进行统一认证鉴权的需求。那么服…

golong基础相关操作--一

package main//go语言以包作为管理单位&#xff0c;每个文件必须先声明包 //程序必须有一个main包 // 导入包&#xff0c;必须要要使用 // 变量声明了&#xff0c;必须要使用 import ("fmt" )/* * 包内部的变量 */ var aa 3var ss "kkk"var bb truevar …

使用Python对数据的操作转换

1、列表加值转字典 在Python中&#xff0c;将列表的值转换为字典的键可以使用以下代码&#xff1a; myList ["name", "age", "location"] myDict {k: None for k in myList} print(myDict) 输出&#xff1a; {name: None, age: None, loca…

EasyExcel导出模板实现下拉选(解决下拉超过50个限制)

学习地址&#xff1a;https://d9bp4nr5ye.feishu.cn/wiki/O3obweIbgi2Rk1ksXJncpClTnAfB站视频&#xff1a;https://www.bilibili.com/video/BV1H34y1T7Lm 先来看看最终实现效果&#xff0c;如果效果是你想要的&#xff0c;再看看实现逻辑。 EasyExcel本身是支持设置下拉校验的…

小程序中如何给会员卡设置到期时间

通过设置会员卡到期时间&#xff0c;可以有效地管理会员卡的使用周期&#xff0c;提供更好的会员服务体验。下面将介绍一种常见的给会员卡设置到期时间的方法。 1. 找到指定的会员卡。在管理员后台->会员管理处&#xff0c;找到需要设置到期时间的会员卡。也支持对会员卡按…

OS 内存分区和分页 多级页表与快表

每个进程的PCB都有一个LDT 内存紧缩不实用&#xff0c;所需时间太长 类似于段表&#xff0c;存在页表 但是不连续需要的空间太多了&#xff0c;太麻烦了 多级页表&#xff1a;类比于书的章目录和节目录 构建页目录 每个页目录号指向4M的地址 快表是寄存器&#xff0c;很昂…

《Python入门到精通》webbrowser模块详解,Python webbrowser标准库,Python浏览器控制工具

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;小白零基础《Python入门到精通》 webbrowser模块详解 1、常用操作2、函数大全webbrowser.open() 打开浏览器webbro…

应急三维电子沙盘数字孪生系统

一、简介应急三维电子沙盘数字孪生系统是一种基于虚拟现实技术和数字孪生技术的应急管理工具。它通过将真实世界的地理环境与虚拟世界的模拟环境相结合&#xff0c;实现了对应急场景的模拟、分析和决策支持。该系统主要由三维电子沙盘和数字孪生模型两部分组成。三维电子沙盘是…

机器学习基础16-建立预测模型项目模板

机器学习是一项经验技能&#xff0c;经验越多越好。在项目建立的过程中&#xff0c;实 践是掌握机器学习的最佳手段。在实践过程中&#xff0c;通过实际操作加深对分类和回归问题的每一个步骤的理解&#xff0c;达到学习机器学习的目的 预测模型项目模板 不能只通过阅读来掌握…

YII项目在Docker中运行缓慢

缓慢问题分析 请求YII的api时间请求原生查询时间win10 上运行docker上的php api异常慢ubuntu 中拉代码git报错 请求YII的api时间 请求原生查询时间 win10 上运行docker上的php api异常慢 链接阿里数据的 入口直接返回的 网上有说是docker的dns解析慢&#xff1b; 也有说是…

C语言:大小端字节序存储

一、大小端字节序存储介绍 大端字节序存储模式&#xff1a;把一个数据低位字节处的数据存放在高地址处&#xff0c;数据高位字节处的数据存放在低地址处 小端字节序存储模式&#xff1a;把一个数据低位字节处的数据存放在低地址处&#xff0c;数据高位字节处的数据存放在高地址…

极限五分钟,在宝塔中用 Docker 部署升讯威在线客服系统

最近客服系统成功经受住了客户现场组织的压力测试&#xff0c;获得了客户的认可。 客户组织多名客服上线后&#xff0c;所有员工同一时间打开访客页面疯狂不停的给在线客服发消息&#xff0c;系统稳定无异常无掉线&#xff0c;客服回复消息正常。消息实时到达无任何延迟。 本文…

【一对一学习小组】2023年有三AI-CV高阶-项目实战组发布,超过30个案例,60小时项目实战+2大基础方向专栏+3本书赠送...

2023年有三AI-CV高阶-项目实战组正式发布&#xff01;有三AI已经推出了CV初-中-高级培养计划&#xff08;原名有三AI-CV季划&#xff09;&#xff0c;这是我们的终身计算机视觉学习小组。 该培养计划具有以下特点&#xff1a; 【系统性】配套有非常完备的理论与实践 【永久性】…

ssm+vue乐购游戏商城系统源码和论文

ssmvue乐购游戏商城系统源码和论文115 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 摘 要 随着社会的发展&#xff0c;游戏品种越来越多&#xff0c;计算机的优势和普及使得乐购游戏商城系统的开发成为必需…