C++面向对象编程:友元成员函数解析
需积分: 14 33 浏览量
更新于2024-08-23
收藏 4.4MB PPT 举报
"C++课程-面向对象编程及何洁月教授讲解友元函数"
在C++编程语言中,友元机制是一种特殊的权限授予方式,它允许一个类的成员函数成为另一个类的友元函数,从而能够访问该类的私有(private)和保护(protected)成员。这种机制打破了封装的界限,但在某些情况下,如为了实现特定的协作或数据管理,它是必要的。
在给出的示例中,`Teacher`类的成员函数`assigGrades()`被声明为`Student`类的友元函数。这意味着`assigGrades()`可以访问`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
}
```
这段代码中,`Teacher`类的`assigGrades()`函数被声明为`Student`的友元,所以它能直接修改传入`Student`对象的`gpa`值。这在实际应用中可能用于教师给学生评分等场景,使得教师类可以安全地修改学生类的内部状态,而无需暴露过多的接口。
在何洁月教授的C++课程中,课程内容涵盖了C++的基础语法、面向对象编程思想以及相关概念。课程分为多个章节,旨在帮助学生建立起计算机程序设计的概念体系,理解并掌握C++语言,包括基本数据类型、控制结构、函数、类与对象等核心概念。
- 第一章概述了计算机程序设计语言的发展和面向对象方法,引导学生进入面向对象的世界。
- 第二章介绍了C++的基础知识,包括数据类型、表达式、输入输出和基本的控制结构,这些都是编写任何程序的基础。
- 第三章深入函数的使用,涵盖函数定义、内联函数、默认参数、重载和模板,这些都是C++中实现模块化和代码复用的关键。
- 第四章重点讲解类与对象,这是面向对象编程的核心,包括构造函数、析构函数、类的组合以及类模板,帮助学生理解如何在C++中创建和使用自定义类型。
- 第五章及以上章节继续深化面向对象的主题,涉及更多的高级特性,如继承、多态、虚函数等,以及面向对象的设计原则。
通过这样的学习,学生将逐步提高编程能力,学会利用C++进行面向对象的程序设计,并为后续更复杂的编程任务打下坚实的基础。
2018-04-28 上传
2013-05-25 上传
2014-02-11 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
三里屯一级杠精
- 粉丝: 35
- 资源: 2万+
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析