- A+
所属分类:C++
- class MyClass;
- class FriendClass {
- public:
- void readData(const MyClass& obj) {
- // 读取数据的操作
- int data = obj.privateData; // 访问私有数据
- // 进行读取操作
- }
- void writeData(MyClass& obj) {
- // 写入数据的操作
- obj.privateData = 100; // 修改私有数据
- // 进行写入操作
- }
- };
- class MyClass {
- private:
- int privateData; // 私有数据,只能在类内部或友元类中访问
- protected:
- int protectedData; // 受保护数据,可以在类内部和派生类中访问
- friend class FriendClass; // 声明 FriendClass 为友元类
- public:
- int publicData; // 公有数据,可以在任何地方访问
- void readFunction() {
- // 可以被任何类或函数访问
- // 读取数据的操作
- }
- };
在上面的代码中,FriendClass 是一个友元类,声明为 MyClass 的友元类。这意味着 FriendClass 类可以访问 MyClass 类的私有成员和受保护成员。
FriendClass 中的 readData() 函数可以读取 MyClass 对象的私有数据,并进行相应的操作。writeData() 函数可以修改 MyClass 对象的私有数据。
这样,通过友元类的机制,你可以在 FriendClass 中实现对特定类 MyClass 的读写功能,而对其他类只开放读功能。