C++课程详解:面向对象与友元函数

需积分: 9 2 下载量 52 浏览量 更新于2024-08-19 收藏 4.34MB PPT 举报
"何洁月C++课件 东南大学 - 讲述C++中的友元成员函数" 在C++编程语言中,类的成员函数可以是另一个类的友元,这是面向对象编程中的一个重要概念。友元机制允许非成员函数或成员函数访问通常被保护的类成员,从而打破了封装性但提供了更多的灵活性。这种特性使得类之间的协作更加紧密,特别是在需要特殊访问权限的情况下。 在给出的示例中,`Teacher`类的成员函数`assigGrades`声明为`Student`类的友元函数。这样,`assigGrades`函数就可以直接访问`Student`类的私有或保护成员,如`gpa`。这样的设计可能是因为`Teacher`类需要能够修改`Student`对象的成绩,而这个操作是`Student`类内部管理的私有信息,因此需要友元关系来实现。 友元成员函数有以下几个关键点: 1. **定义方式**:在`Student`类中,我们使用`friend`关键字来声明`Teacher::assigGrades`为友元,允许它访问`Student`的私有和保护成员。 2. **访问权限**:作为友元,`assigGrades`可以访问`Student`的私有成员,这在非友元函数中是不允许的。在这里,`assigGrades`可以设置`Student`的`gpa`值。 3. **封装与安全**:虽然友元机制增强了代码的灵活性,但它也可能破坏封装原则,因为友元函数可以直接访问类的内部状态。因此,合理使用友元是必要的,以确保代码的可维护性和安全性。 课程内容涵盖了C++的基础知识和面向对象编程的核心概念,包括: - **培养目标**:旨在让学生建立基本的编程思维,理解和掌握C++语法,以及面向对象编程的原理和技巧。 - **课程章节**:从计算机程序设计语言的发展到面向对象的软件开发,再到具体的C++语言要素,如数据类型、输入输出、控制结构、函数、类与对象等。 - **函数**:讲解了函数的定义、使用,包括内联函数、带默认参数的函数、函数重载和函数模板。 - **类与对象**:介绍了面向对象的思想,类和对象的概念,构造函数、析构函数,类的组合,类模板以及面向对象的标识。 通过这门课程的学习,学生将能够掌握C++的基础语法,理解面向对象编程的核心思想,并具备编写和调试C++程序的能力,为后续的深入学习打下坚实基础。