友元类是一种可访问其他类私有成员的特殊类。声明友元类时使用 friend 关键字,如:friend class friendclass; 在友元类中,可通过作用域解析运算符 (::) 访问友元类的私有成员:friendclass::accessprivatemember(outer); 实战案例:在班级管理系统中,teacher 类被声明为 student 类的友元类,允许 teacher 访问 student 的考试成绩(私有成员)。

C++ 中友元类的声明和用法
简介
友元类是一种特殊类型的类,它可以访问另一个类的私有成员。友元类用于在不同类之间建立协作,特别是在复杂的设计中。
立即学习“C++免费学习笔记(深入)”;
声明友元类
要声明一个友元类,请使用 friend 关键字,后跟类名:
class OuterClass {public: // ...private: // ... friend class FriendClass; // 声明 FriendClass 为 OuterClass 的友元类};
访问友元类的成员
在友元类中,可以使用作用域解析运算符 (::) 来访问友元类的私有成员:
class FriendClass {public: void accessPrivateMember(OuterClass& outer) { cout << outer.private_member << endl; // 访问 OuterClass 的私有成员 private_member }};
实战案例
假设我们有一个班级管理系统。我们有一个 Student 类和一个 Teacher 类,用于存储学生和老师的信息。为了允许老师访问学生的考试成绩(私有成员),我们将其声明为 Teacher 类的友元类:
Student.h
class Student {public: // ...private: int exam_score; // 学生的考试成绩 friend class Teacher; // Teacher 类为 Student 的友元类};
Teacher.h
class Teacher {public: void viewStudentExamScore(Student& student) { cout << student.exam_score << endl; // 访问 Student 的私有成员 exam_score }};
main.cpp
int main() { Student student1; // ... 初始化学生数据 Teacher teacher1; teacher1.viewStudentExamScore(student1); // 老师查看学生成绩 return 0;}
通过声明友元类,我们允许 Teacher 类访问 Student 类的私有成员,从而实现了不同类之间的协作。
以上就是C++ 中如何正确声明和使用友元类的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1460740.html
微信扫一扫
支付宝扫一扫