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

建设厅质监总站网站无锡网站制作启航

建设厅质监总站网站,无锡网站制作启航,南京广告公司一览表,集团公司网站 案例文章目录 前言一、什么是友元二、友元的特性三、示例代码总结 前言 在C编程中,友元(friend)是一种特殊的关系,允许一个类或函数访问另一个类中的私有成员。 一、什么是友元 1.友元 的定义: 友元在C中可以被用于类和…

文章目录

  • 前言
  • 一、什么是友元
  • 二、友元的特性
  • 三、示例代码
  • 总结

前言

在C++编程中,友元(friend)是一种特殊的关系,允许一个类或函数访问另一个类中的私有成员。


一、什么是友元

1.友元 的定义:

友元在C++中可以被用于类和函数。对于类来说,可以创建一个友元类或友元函数。友元类可以 直接访问其它类的私有成员 ,而友元函数可以访问某一个类的私有成员。

2.友元 的声明:

在类定义中,可以使用 friend 关键字声明一个类或函数为友元。声明通常放在类的访问说明符(public、private、protected)之间。

友元 关系发生在函数与类之间 或者 类与类 之间。

class MyClass {
private:int privateData;
public:friend class FriendClass; // 友元类声明friend void FriendFunction(); // 友元函数声明
};

二、友元的特性

1.局限性

友元的使用应该谨慎,并且遵循信息隐藏的原则。友元的目的是提供更灵活的访问权限,但也可能破坏封装性和安全性。应该尽量避免滥用友元,只在必要的情况下使用。

2.友元 关系的传递性

友元 关系不能传递,友元 关系 是单向的。 即使一个类 A 是类 B 的友元,类 B 的友元类不会自动成为类 A 的友元。
如果 A 是 B 的友元, B 是 C 的友元,则 C 不是 A 的友元,不可以传递使用。
在这里插入图片描述

三、示例代码

  1. 示例一:
    友元函数允许函数访问类中的私有成员。被声明为友元的函数可以直接访问友元类的私有成员。
class Point
{int a, b;						// a,b 是类的私有成员
public:Point(int a, int b){this->a = a;this->b = b;}friend void fun(Point&p);			//声明 友元 函数
};void fun(Point& p)
{printf("a = %d, b = %d\n",p.a,p.b);			//在 fun 函数内可直接访问 类的私有成员
}int main(void)
{Point p(1,2);fun(p);return 0;
}

在这里插入图片描述

  1. 示例 二
    友元类允许一个类访问另一个类中的私有成员。被声明为友元的类可以直接访问友元类的私有成员。
class name1
{const char* n;
public:name1(const char* n){this->n = n;}friend class name2;				// 声明 友元 类
};class name2
{
public:void GetName1(name1& name)				// 打印 name1 类的名字{printf("name1 ==> %s\n", name.n);		// 访问 私有成员}
};int main(void)
{name1 n1("hello");name2 n2;n2.GetName1(n1);return 0;
}

在这里插入图片描述


总结

友元是一个强大的特性,但应谨慎使用。正确理解和使用友元关系,可以在需要的时候提供更灵活的访问权限,同时保持良好的封装性和安全性。在设计类和函数时,考虑友元是否需要,并仔细评估其对程序结构的影响。

http://www.yayakq.cn/news/252943/

相关文章:

  • 自己的网站怎么做seo金华网站制作建设
  • php企业网站开发物联网是干什么的用的
  • wordpress适合做企业站怎么样让百度搜到自己的网站
  • 东莞网站建设 模具如何建设一个商城网站
  • 上海网站建设沪icp备跨境电商erp软件前十名
  • 如何修改wordpress站名王野天 葛优
  • 微网站开发企业选择wordpress调用添加登陆页面按钮
  • 上海外贸网站推广服务做公司网站流程
  • 网站设计制作上海公司wordpress版本不一致如何更换空间
  • 石家庄网站开发哪家好西安企业自助建站系统
  • 珠海做网站的公司舆情报告分析
  • 廊坊建设公司网站全部列表支持安卓浏览器软件下载
  • 什么可以用手机做网站网站美工怎么做
  • a做片手机免费网站网站购买域名吗
  • 网站前台做哪些工作佛山个性化网站开发
  • 固始网站制作镇江公司做网站
  • 可以做微信公众号封面的网站百度引擎入口官网
  • 网站建设教程菜鸟物流郑州做网站推广电
  • 做网站大概一个月多少工资网站建设情况的汇报
  • 网站建设公司论坛手机网站设计公司哪家专业
  • 铜川市新区建设局网站软件仓库
  • 网站建设:宏智网络科技网站设计费用多少
  • 国际网站模板微信公众平台使用方法
  • 企业建设网站的需求分析网站信息员队伍建设
  • 吴江市建设局网站建设厅官方网站职称
  • 网站备案法律法规注册网站需要多少钱
  • 排版设计模板网站网址大全浏览器主页
  • 做网站需求文档装潢设计学校有哪些
  • 做的好的装修公司网站大学校园网络设计方案
  • 沈阳开发网站的地方苏州h5网站建设价钱