c++友元类如何使用,举例说明
时间: 2024-09-25 07:04:37 浏览: 107
C++中的友元类是一种特殊的访问控制机制,它允许一个类访问另一个类的私有和保护成员,而无需成为其成员。友元类通常用于那些需要直接操作其他类内部细节的辅助类或者特殊情况下的设计。为了声明一个类A为类B的友元,可以在类B的定义中添加`friend class A;`。
例如:
```cpp
class MyClass {
private:
int secretValue;
public:
// 其他公开方法
// 定义友元类MyFriendClass
friend class MyFriendClass;
};
// 友元类MyFriendClass
class MyFriendClass {
public:
void showSecret(MyClass &obj) {
// 直接访问secretValue,因为MyClass是MyFriendClass的朋友
std::cout << "The secret value is: " << obj.secretValue << std::endl;
}
};
int main() {
MyClass myObj;
MyFriendClass friendClass;
friendClass.showSecret(myObj); // 能够访问并打印myObj的私有成员
return 0;
}
```
在这个例子中,`MyFriendClass`作为`MyClass`的友元,可以直接访问`MyClass`的私有变量`secretValue`。这使得`showSecret`函数能够在外部操作`myObj`的私有状态。
阅读全文