【友元】friend的用法

本文介绍了C++中的友元概念,包括友元函数和友元类的定义及使用方式。通过示例展示了友元函数如何访问类的私有成员,并解释了友元类的概念及其应用场景。

友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类。

(1)友元函数

  友元函数的特点是能够访问类中的私有成员的非成员函数。友元函数从语法上看,它与普通函数一样,即在定义上和调用上与普通函数一样。下面举一例子说明友元函数的应用。

#include  

  class   Point
  {
  public:
    Point(double   xx,   double   yy)   {   x=xx;   y=yy;   }
    void   Getxy();
    friend   double   Distance(Point   &a,   Point   &b);
  private:
    double   x,   y;
  };

  void   Point::Getxy()
  {
  cout < < "( " <
  }

  double   Distance(Point   &a,   Point   &b)
  {
  double   dx   =   a.x   -   b.x;
  double   dy   =   a.y   -   b.y;
  return   sqrt(dx*dx+dy*dy);
  }

  void   main()
  {
  Point   p1(3.0,   4.0),   p2(6.0,   8.0);
  p1.Getxy();
  p2.Getxy();
  double   d   =   Distance(p1,   p2);
  cout < < "Distance   is " <
  } 
说明:在该程序中的Point类中说明了一个友元函数Distance(),它在说明时前边加friend关键字,标识它不是成员函数,而是友元函数。它的定义方法与普通函数定义一样,而不同于成员函数的定义,因为它不需要指出所属的类。但是,它可以引用类中的私有成员,函数体中a.x,b.x,a.y,b.y都是类的私有成员,它们是通过对象引用的。在调用友元函数时,也是同普通函数的调用一样,不要像成员函数那样调用。本例中,p1.Getxy()和p2.Getxy()这是成员函数的调用,要用对象来表示。而Distance(p1,   p2)是友元函数的调用,它直接调用,不需要对象表示,它的参数是对象。(该程序的功能是已知两点坐标,求出两点的距离。)

 

(2) 友元类
           友元除了前面讲过的函数以外,友元还可以是类,即一个类可以作另一个类的友元。当一个类作为另一个类的友元时,这就意味着这个类的所有成员函数都是另一个类的友元函数。

例如,一个类中,有一些私有方法和属性.
但需要对另一个类开放权限(一般来说,这样的问题可以通过设计来解决),这个时候,利用友元就可以了.

直接在相关的地方写上

friend   class   nnn就可以了.其他的友元函数等和这个差不多.
友元函数多用来完成运算符重载.


内容概要:本文围绕间歇性光伏出力条件下48V直流母线电压的稳定控制与储能系统双向充放电的闭环调控体系展开深入研究,系统探讨了光伏阵列非线性输出特性与锂离子电池储能系统在离网直流微网中的能量均衡建模方法及分层控制策略。通过Simulink平台构建完整的光伏储能直流系统仿真模型,涵盖PV阵列、Boost DC-DC变换器、负载、双向DC-DC变换器及电池系统等关键组件,实现了最大功率点跟踪(MPPT)与储能系统的协同控制,有效应对光照波动引起的功率供需失衡问题。研究采用双PI闭环控制、模型预测控制(MPC)等多种先进控制算法,显著提升了系统的动态响应速度与直流母线电压稳定性,并实现了储能系统在削峰填谷中的优化运行,对于增强离网微网的供电可靠性与能源利用效率具有重要理论价值和工程意义。; 适合人群:具备电力电子、新能源系统或自动控制等相关领域基础知识的研究生、科研人员,以及从事微电网、光伏储能系统开发与设计的工程技术人员。; 使用场景及目:① 构建适用于离网场景的光伏储能系统Simulink仿真模型;② 实现间歇性光照条件下48V直流母线电压的精确稳定控制与储能系统的双向能量管理;③ 研究MPPT控制与储能充放电策略之间的协同机制,提升系统在复杂工况下的运行稳定性与鲁棒性;④ 为微电网能量管理系统的设计、优化与性能验证提供可靠的理论依据和技术支撑。; 阅读建议:建议结合文中所述的Simulink仿真模型与控制算法,亲自动手实践建模与仿真全过程,重点关注MPPT控制策略的实现、双向DC-DC变换器的设计以及电压外环与电流内环构成的双闭环控制结构的参数整定,并通过设置不同的光照强度变化曲线和负载投切工况,全面测试和评估系统的动态响应能力与控制性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值