C++编程:理解类的友元成员函数

需积分: 9 6 下载量 164 浏览量 更新于2024-08-23 收藏 4.92MB PPT 举报
"何洁月C++课件-友元成员函数" 在C++编程中,友元机制是一种特殊的关系,允许一个类访问另一个类的私有或受保护的成员。在给定的课件中,重点讲解了如何让一个类的成员函数成为另一个类的友元,以便能够直接操作被友元化的类的私有和受保护成员。这种设计模式有助于打破封装的界限,以实现特定的功能需求。 首先,我们来看一下友元函数的概念。友元函数不是类的成员,但它可以访问类的私有和受保护成员。在课件中,`Teacher`类的`assigGrades`成员函数被声明为`Student`类的友元。这样,`assigGrades`函数就能够直接修改`Student`对象的`gpa`,即使`gpa`是`Student`类的受保护成员。这在某些情况下非常有用,比如在教师类中设置学生类的成绩。 ```cpp class Student; class Teacher { public: void assigGrades(Student& s); protected: int noofStudents; }; class Student { public: friend void Teacher::assigGrades(Student& s); protected: int semesterHours; float gpa; }; void Teacher::assigGrades(Student& s) { s.gpa = 4.0; // 直接访问并修改Student的gpa } ``` 在上述代码中,`Student`类通过`friend void Teacher::assigGrades(Student& s);`声明`Teacher`的`assigGrades`为友元函数。这意味着`Teacher::assigGrades`可以访问`Student`类的私有和受保护成员,如`gpa`。 这个课件由何洁月主讲,是东南大学C++课程的一部分,旨在教授C++编程基础以及面向对象编程概念。课程覆盖了从计算机程序设计的基本概念到C++语言的高级特性,如面向对象编程(OOP)。 课程目标包括: 1. 建立基本的计算机程序设计概念和方法。 2. 掌握C++语言的基本语法和面向对象思想。 3. 提高学生的编程和调试能力。 课程内容涵盖了: - 计算机程序设计语言发展史、面向对象方法和软件开发流程。 - C++的基本元素,如数据类型、表达式、输入/输出、控制结构和自定义数据类型。 - 函数的定义、使用,包括内联函数、带默认参数的函数、函数重载、函数模板以及系统函数的使用。 - 面向对象编程,包括类和对象的概念、构造函数、析构函数、类的组合以及类模板。 - 还涉及了一些面向对象的标记和概念。 通过这个课程,学生将能够理解和应用C++语言进行面向对象的程序设计,为后续更深入的学习打下坚实的基础。