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

[C++ 核心编程]笔记 4.4.2 类做友元

4.4.2 类做友元

关键步骤:
在另一个类中使用 friend class 类名

在这里插入图片描述

拓展:

在类外写成员函数(已在类内声明, 实现可以写在外面):

//类外写成员函数
Building::Building()
{
	m_SittingRoom = "客厅";
	m_BedRoom = "卧室";
}

GoodGay::GoodGay()
{
	//创建建筑物对象
	building = new Building;
}

全部代码:

#include<iostream>
using namespace std;
#include<string>
//类做友元

class Building;
class GoodGay
{
public:
	GoodGay();

	void visit();//参观函数 访问Buiding中的属性

	Building* building;

};

class Building
{
	//GoodGay类是本类的好朋友, 可以访问该类中私有对象
	friend class GoodGay;

public:
	Building();
public:

	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;
}

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

相关文章:

  • EsChatPro 接入国内 DeepSeek 大模型
  • 修炼内功之函数栈帧的创建与销毁
  • 计算机网络——练习题
  • amazon广告授权
  • 苏黎世联邦理工学院与加州大学伯克利分校推出MaxInfoRL:平衡内在与外在探索的全新强化学习框架
  • esp8266_TFTST7735语音识别UI界面虚拟小助手
  • 【Vue 2.x】之指令详解
  • Nat Med 病理AI系列|人工智能在肝病临床试验中的应用·顶刊精析·24-11-06
  • QT开发:掌握现代UI动画技术:深入解析QML和Qt Quick中的动画效果
  • 用PyQt 5 开发的雷达基数据可视化软件
  • 关于c指针的一些说明
  • 第2篇 使用Intel FPGA Monitor Program创建基于ARM处理器的汇编或C语言工程<二>
  • 【5.10】指针算法-快慢指针将有序链表转二叉搜索树
  • Java项目实战II基于Spring Boot的问卷调查系统的设计与实现(开发文档+数据库+源码)
  • Linux 文件基本属性
  • SQL Server 日志记录
  • linux arm板启动时间同步服务
  • 数组和指针的复杂关系
  • 上尚优选项目
  • 【LeetCode】【算法】406. 根据身高重建队列
  • [数组排序] LCR 159. 库存管理
  • MyBatis几种SQL写法
  • 不用JS实现鼠标悬停提示框,以及Emotion里:hover使用踩坑
  • python识别ocr 图片和pdf文件
  • 【LeetCode】每日一题 2024_11_6 长度为 K 的子数组的能量值 I(模拟、一次遍历)
  • 数智化实践案例 | 高质数据、领先平台、报告加速,赋能决策