C++编程:理解类的友元成员函数
需积分: 9 152 浏览量
更新于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++语言进行面向对象的程序设计,为后续更深入的学习打下坚实的基础。
2024-12-27 上传
2024-12-28 上传
2024-12-27 上传
2024-12-27 上传
涟雪沧
- 粉丝: 22
- 资源: 2万+