C++编程:理解类的友元成员函数
需积分: 9 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++语言进行面向对象的程序设计,为后续更深入的学习打下坚实的基础。
2018-04-28 上传
2013-05-25 上传
2020-12-31 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
涟雪沧
- 粉丝: 21
- 资源: 2万+
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析