C++中的友元函数是指可以访问类的私有成员的非成员函数或者类的成员函数。基类的友元函数是指可以访问基类的私有成员的非成员函数或者派生类的成员函数。
在C++中,如果派生类需要访问基类的私有成员,可以通过将基类的友元函数声明为派生类的友元函数来实现。这样派生类的成员函数就可以访问基类的私有成员,从而实现对基类私有数据的访问。
基类的友元函数的声明和定义与普通的友元函数相同,只是在声明和定义时需要在函数前面加上基类的类名和作用域解析符号"::"。
示例代码如下:
#include <iostream>
class Base {
private:
int privateData;
friend void friendFunction(Base& b); // 声明友元函数
};
void friendFunction(Base& b) { // 定义友元函数
std::cout << "Accessing private data of Base class: " << b.privateData << std::endl;
}
int main() {
Base b;
friendFunction(b); // 调用友元函数
return 0;
}
在上面的示例中,friendFunction
是Base
类的友元函数,可以访问Base
类的私有成员privateData
。在main
函数中,我们通过调用friendFunction
函数来访问Base
类的私有成员。