
在 C++ 中,友元类(Friend Class)和友元函数(Friend Function)是用于实现类之间的访问控制的机制。它们允许一个类或一个函数访问另一个类的私有(private)和保护(protected)成员。这种机制主要用于解决某些特定的设计问题,例如需要在多个类之间共享数据或实现更复杂的交互。
友元函数是一个非成员函数,它可以访问类的私有和保护成员。友元函数通常用于实现类的外部操作,这些操作需要访问类的内部数据。
#include <iostream>
class MyClass {
private:
int privateVar;
public:
MyClass(int val) : privateVar(val) {}
// 声明友元函数
friend void printPrivate(MyClass& obj);
};
// 定义友元函数
void printPrivate(MyClass& obj) {
std::cout << "Private variable: " << obj.privateVar << std::endl;
}
int main() {
MyClass obj(10);
printPrivate(obj); // 调用友元函数
return 0;
}友元类是一个类,它的所有成员函数都可以访问另一个类的私有和保护成员。友元类通常用于实现类之间的紧密协作,特别是在需要共享大量内部数据的情况下。
#include <iostream>
class MyClass {
private:
int privateVar;
public:
MyClass(int val) : privateVar(val) {}
// 声明友元类
friend class FriendClass;
};
class FriendClass {
public:
void printPrivate(MyClass& obj) {
std::cout << "Private variable: " << obj.privateVar << std::endl;
}
};
int main() {
MyClass obj(10);
FriendClass friendObj;
friendObj.printPrivate(obj); // 调用友元类的成员函数
return 0;
}原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。