友元函数允许非成员函数访问私有成员,并在多继承中发挥作用,允许派生类函数访问基类的私有成员。

C++ 友元函数详解:友元函数在多继承中的作用
友元函数介绍
友元函数是一种特殊函数,被赋予访问私有成员的权限,而无需该类的对象。它通常用于允许非成员函数访问私有数据。
语法:
class ClassName {
... // 类成员
friend FunctionName;
};
友元函数在多继承中的作用
在多继承中,一个派生类可以从多个基类继承数据成员和方法。如果派生类中的函数需要访问基类的私有成员,则可以将该函数声明为友元函数。
实战案例
假设我们有一个 Base 类和一个从 Base 继承的派生类 Derived:
class Base {
private:
int data;
};
class Derived : public Base {
public:
void printData() {
std::cout <p>由于 <code>data</code> 是 <code>Base</code> 的私有成员,<code>Derived</code> 中的 <code>printData()</code> 函数无法直接访问它。因此,我们将 <code>printData2()</code> 函数声明为 <code>Derived</code> 的友元函数:</p><pre class="brush:cpp;toolbar:false;">void printData2(Derived& obj) {
std::cout <p>现在,<code>printData2()</code> 可以访问 <code>Derived</code> 中私有的 <code>data</code> 成员。</p><p><strong>使用方式:</strong></p><pre class="brush:cpp;toolbar:false;">int main() {
Derived obj;
obj.printData();
printData2(obj);
}
输出:
0 0
C++免费学习笔记(深入):立即使用
在学习笔记中,你将探索 C++ 的入门与实战技巧!











