
C++面向对象编程:友元成员函数解析
下载需积分: 14 | 4.4MB |
更新于2024-08-23
| 13 浏览量 | 举报
收藏
"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++进行面向对象的程序设计,并为后续更复杂的编程任务打下坚实的基础。
相关推荐

三里屯一级杠精
- 粉丝: 0
最新资源
- 考研英语听力训练:磨耳朵2A/2B词汇MP3套装
- jbuider开发的模拟短信网关及其应用
- 智能排课系统设计与实现(使用VS2005和SQL2000)
- Apache Tomcat 4.1.37版本详解
- 掌握Jquery中文API,提升前端开发效率
- Office Studio 2008:综合办公平台与文档编辑器
- CnJBB论坛v1.2.2:一个用jsp编写的高效率论坛
- 掌握Windows Server 2003管理与特性教程
- 深入解析J2EE案例:Eclipse与框架整合技术细节-ch06
- 掌握无盘2000终端技术:Windows 2000 Server电子图书
- IE7专用电子书自动转换工具
- JSP实用教程:涵盖核心源码解析
- Windows Server 2003 DNS配置及Internet访问指南
- 吴永麟阅读100篇:掌握基础篇的重要性
- 精选BlogEngine.NET主题打包下载
- QQ完美插件:提升布局优化,减少内存占用
- PHP快速入门教程:十天掌握编程精髓
- 使用NetBeans IDE 6开发基于SOA的复合应用教程
- Ext.ux.UploadDialog:Ext2.0的高级上传组件
- Windows Server 2003群集搭建与配置全方位教程
- ASP通讯录软件:万寿版本介绍与下载
- ArcGis Engine学习心得与实践
- 北大青鸟项目实践:酒店管理系统功能实现
- 深入理解C#编程语言核心技术