C++总结笔记(五)友元函数

  1. 如果A类中的函数想要访问B类中的成员,那么A中的该函数必须是B类中的友元函数。
  2. 为了使其他的成员函数直接访问类中的私有变量,即允许外面的类或者函数能访问该的私有变量或者受保护的变量,从而使两个函数共享一个函数。
  3. 提高效率,但是破坏了类的封装性,一般在操作符重载的时候可以用。

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

class People
{
 public:
  People(string name):n(name){};
  friend void getName(People p);
 private:
  string n;
};


void getName(People p)
{
 cout<<p.n<<endl;
}

class Li;
class Wang
{
 public:
  Wang(string);
  void display(Li &);
 private:
  string name;
};

Wang::Wang(string n)
{
 name = n;
}

class Li
{
 public:
  Li(string);
  friend void Wang::display(Li &);
 private:
  string name;
};

Li::Li(string n)
{
 name = n;
}

void  Wang::display(Li &l)
{
 cout<<l.name<<endl;
}
int main()
{
 People p("HCJ");
 getName(p);

 Wang w("WANG");
 Li l("Li");
 w.display(l);
}

posted on   Kimi_jun  阅读(246)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
< 2013年5月 >
28 29 30 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

导航

统计

点击右上角即可分享
微信分享提示