什么是友元(Friend)?👭
在C++中,友元(Friend)是一种机制,允许外部函数或类访问某个类的私有(private)或保护(protected)成员。
⚠️⚠️友元不是类的成员,但它能绕过封装限制,直接访问类中的私有数据。
2. 友元函数的定义与作用🆙
普通成员函数的访问限制
假设有一个类
Person
,如下所示:class Person { private: std::string name; int age; public: Person(std::string n, int a) : name(n), age(a) {} };
在上面的例子中,
name
和age
是私有成员,一般情况下不能从类外直接访问。
友元函数如何访问私有数据
我们可以定义一个友元函数,允许它直接访问
Person
类的私有成员:#include <iostream> using namespace std; class Person { private: std::string name; int age; public: Person(std::string n, int a) : name(n), age(a) {} // 声明友元函数 friend void displayPersonInfo(const Person& p); };