合作机构:阿里云 / 腾讯云 / 亚马逊云 / DreamHost / NameSilo / INWX / GODADDY / 百度统计
封装是一个强大的概念,它帮助我们组织和保护数据。然而,有时我们需要突破这层保护,与类的私有成员亲密无间。
在C++中,类是我们代码组织的基本单元,而封装则确保了数据的安全性。然而,有时候我们需要在类外部直接访问类的私有成员,这时友元函数就成了我们的得力助手。
#include <iostream>
class MyClass {
private:
int privateData;
public:
MyClass(int data) : privateData(data) {}
// 声明友元函数
friend void accessPrivateData(const MyClass& obj);
};
// 定义友元函数,可以访问私有成员
void accessPrivateData(const MyClass& obj) {
std::cout << "Accessing private data: " << obj.privateData << std::endl;
}
int main() {
MyClass myObject(42);
// 调用友元函数
accessPrivateData(myObject);
return 0;
}
TOP