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

c++206 友元类

在这里插入图片描述

#include<iostream>
using namespace std;
class A
{
public://声明的位置 和public private无关friend void modifyA(A* pA, int _a);//函数modifyA是A的好朋友A(int a, int b){this->a = a;this->b = b;}int getA(){return this->a;}
private:int a;int b;
};void modifyA(A* pA, int _a)
{//pA->a = 100;//a 是私有 pA->a = _a; // 允许访问私有成员
}int main()
{A a1(1, 2);cout << a1.getA() << endl;modifyA(&a1, 200);cout << a1.getA() << endl;return 0;
}
//#include<iostream>
//using namespace std;
//class A
//{
//
//public:
//	friend class B;//B是A的友类 在b类可以访问A的私有成员/函数
//	//声明的位置 和public private无关
//	friend void modifyA(A* pA, int _a);//函数modifyA是A的好朋友
//
//	A(int a=0, int b=0)
//	{
//		this->a = a;
//		this->b = b;
//	}
//
//	int getA()
//	{
//		
//		return this->a;
//	}
//private:
//	int a;
//	int b;
//};
//class B {
//public:
//	void Set(int a)
//	{
//		A Aobject = a;
//	}
//	void printB()
//	{
//		cout << Aobject.a << endl;
//	}
//private:
//	A Aobject;
//};
//void modifyA(A* pA, int _a)
//{
//	//pA->a = 100;//a 是私有 
//	pA->a = _a; // 允许访问私有成员
//}
//
//int main()
//{
//	/*A a1(1, 2);
//	cout << a1.getA() << endl;
//	modifyA(&a1, 200);
//	cout << a1.getA() << endl;*/
//	B b1;
//	b1.Set(399);
//	b1.printB();
//	return 0;
//}

在这里插入图片描述
破坏类的封装性

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • DC-DC降压10A电源降压可调模块24V转12V9V5V3V-AH1514芯片
  • 龙蜥anolis8.9安装hadoop3.3.6伪分布环境
  • 从Prompt到创造:解锁AI的无限潜能
  • 京东商品详情的 API 探秘与应用
  • p14 使用阿里云服务器的docker部署NGINX
  • 艾迈斯欧司朗亮相2024 CIOE,多款创新产品引领光电新潮
  • 开发小程序
  • 【软件测试】认识测试
  • 架构理论碰撞:对比TOGAF、Zachman、DODAF和FEAF等主流架构框架
  • 【搜索算法】以扩召回为目标,item-tag不如query-tag能扩更多数量
  • 堆排序,快速排序
  • 【系统架构设计师】特定领域软件架构(经典习题)
  • Java多线程3
  • 完结马哥教育SRE课程--服务篇
  • @RequestMapping 和 @GetMapping等子注解的区别及其用法
  • 【译】JS基础算法脚本:字符串结尾
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • CSS相对定位
  • Docker容器管理
  • opencv python Meanshift 和 Camshift
  • Python利用正则抓取网页内容保存到本地
  • Python十分钟制作属于你自己的个性logo
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • spring学习第二天
  • TypeScript实现数据结构(一)栈,队列,链表
  • Vue.js-Day01
  • 爱情 北京女病人
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 如何在 Tornado 中实现 Middleware
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 协程
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • ​zookeeper集群配置与启动
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • # 计算机视觉入门
  • #14vue3生成表单并跳转到外部地址的方式
  • #pragma预处理命令
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (k8s中)docker netty OOM问题记录
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (二)构建dubbo分布式平台-平台功能导图
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • .Net Core 微服务之Consul(二)-集群搭建
  • .Net Core 中间件验签
  • .Net Core 中间件与过滤器
  • .net8.0与halcon编程环境构建
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • :not(:first-child)和:not(:last-child)的用法
  • @RequestMapping处理请求异常
  • [ C++ ] STL_vector -- 迭代器失效问题
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛