当前位置: 首页 > article >正文

[C++ 核心编程]笔记 4.4.1 全局函数做友元

4.4 友元

概述:

生活中你的家有客厅(Public),有你的卧室(Private)
客厅所有来的客人都可以进去,但是你的卧室是私有的,也就是说只有你能进去, 但是呢,你也可以允许你的好闺蜜好基友进去。

  • 在程序里,有些私有属性 也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术
  • 友元的目的就是让一个函数或者类 访问另一个类中私有成员
  • 友元的关键字为 friend

友元的三种实现

  1. 全局函数做友元
  2. 类做友元
  3. 成员函数做友元

4.4.1 全局函数做友元

#include<iostream>
using namespace std;
#include<string>

//建筑物类
class Building
{
	//goodGay全局函数是 Building的好朋友, 可以访问Building中私有成员
	friend void goodGay(Building* building);

public:
	Building()
	{
		m_SittingRoom = "客厅";
		m_BedRoom = "卧室";
	}
public:
	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;
}```





http://www.kler.cn/a/382860.html

相关文章:

  • vscode php Launch built-in server and debug, PHP内置服务xdebug调试,自定义启动参数配置使用示例
  • xcode更新完最新版本无法运行调试
  • webpack的常见配置
  • 比ChatGPT更牛!苹果新AI模型刷新交互体验!能看懂你的手机屏幕!平板和安卓机也都行
  • mysql之命令行基础指令
  • 柯桥零基础学日语日语培训中为什么不说「ご客様」而是「お客様」?
  • 51c嵌入式~合集1
  • openvino python推理demo
  • 网络,NAT地址转换,虚拟路由冗余协议VRRP
  • Linux云计算 |【第五阶段】CLOUD-DAY8
  • Java 批量导出Word模板生成ZIP文件到浏览器默认下载位置
  • 大模型与搜索引擎结合:智能体、思维链和智谱AI搜索代码案例
  • w~视觉~3D~合集1
  • LeetCode题练习与总结:O(1) 时间插入、删除和获取随机元素--380
  • xshell连接不上linux的原因
  • 【EMNLP2024】阿里云人工智能平台 PAI 多篇论文入选 EMNLP2024
  • 架构评估的方法
  • CentOS8.4 部署 k8s 1.31.2
  • XPath 实例
  • 【论文复现】KAN卷积:医学图像分割新前沿
  • 初级图像处理工具
  • 【C++刷题】力扣-#717-1比特与2比特字符
  • 【JavaScript】axios 二次封装拦截器(接口、实例、全局)
  • STM32HAL-最简单的长、短、多击按键框架(多按键)
  • hive切换表底层文件类型以及分隔符
  • I.MX6U 裸机开发2. 芯片简介、汇编基础及GPIO操作准备工作