1、什么是友元函数?

友元函数就是可以直接访问类的成员(包括私有数据)的非成员函数,也就是说他并不属于这个类,他是一种外部的函数。

一个外部函数只能通过类的授权成为这个类友元函数,这就涉及到一个关键字friend。因为我们的一个外部函数是无法访问一个类的私有数据的,当然可以访问

public修饰的变量,这就不叫私有数据了。

1、友元全局函数

(1)首先说明友元全局函数首先他是一个普通的全局函数,其次他是一个的类的友元函数,也就是意味着我们可以通过友元函数

访问类的私有数据和成员函数,当然首先这个友元函数的参数是一个这个类的引用、类的指针或者就是这个类对象。

(2)声明全局友元函数如下所示:

 1 #include <iostream>
 2 using namespace std;
 3 
 4 class Time{
 5     friend void func(Time &t);   // 声明全局函数为一个友元函数
 6 public:
 7     Time(int h, int m, int s) : i_mHour(h), i_mMin(m), i_mSecon(s) { }                  // 构造函数
 8 private:
 9     int i_mHour;
10     int i_mMin;
11     int i_mSecon;
12 };
13 
14 static void func(Time &t)    // 全局函数
15 {
16     cout << t.i_mHour << ":" << t.i_mMin << ":" << t.i_mSecon << endl;
17 }
18 
19 int main(void)
20 {
21     Time t = {10, 20, 30};
22     func(t);
23     return 0;
24 }
全局友元函数

相关文章:

  • 2021-12-23
  • 2021-10-22
  • 2021-12-11
  • 2022-12-23
  • 2022-12-23
  • 2021-10-28
  • 2022-12-23
猜你喜欢
  • 2021-12-07
  • 2021-11-20
  • 2021-08-13
  • 2021-09-11
  • 2021-05-19
  • 2021-09-24
  • 2021-07-05
相关资源
相似解决方案