C++面向对象:友元函数与对象访问

需积分: 13 2 下载量 63 浏览量 更新于2024-08-24 收藏 5.27MB PPT 举报
"友元函数内访问对象的格式-C++面向对象程序设计(谭浩强版)" 在C++的面向对象程序设计中,友元函数是一个非常重要的概念,它允许非成员函数访问类的私有和保护成员。标题指出,友元函数在访问对象时需要遵循特定的格式,即通过`对象名. 成员名`来访问对象的成员。这是因为友元函数并非类的成员,因此不能像成员函数那样直接使用`this`指针来访问当前对象的成员。 友元函数的声明通常在类的定义内部,它可以是全局函数或者是另一个类的成员。其目的是为了提高代码的灵活性和封装性,当某个操作需要跨越类的边界进行,而又不希望这个操作成为类的一部分时,可以使用友元函数。 定义友元函数时,形参通常会定义为对象的引用或指针。这样做有两个主要原因:首先,由于友元函数不是类的成员,它不能隐式地获取调用它的对象,所以需要显式地传入对象的引用或指针;其次,使用引用或指针作为形参可以避免对象的复制,提高效率,并且能够修改对象的状态(如果成员是可修改的)。 C++面向对象编程包括以下几个核心概念: 1. **类和对象**:类是对象的蓝图,定义了对象的属性(数据成员)和行为(成员函数)。对象是类的实例,具有类定义的属性和行为。 2. **运算符重载**:C++允许对已有的运算符进行重载,使其可以应用于自定义的数据类型,使得代码更加直观和易读。 3. **继承与派生**:继承是面向对象编程中的一个重要特性,一个类可以继承另一个类的属性和行为,创建出新的类。派生类可以看作是基类的扩展或特化。 4. **多态性与虚函数**:多态性允许不同的对象对同一消息作出不同的响应,而虚函数是实现多态性的一种手段,使得子类的对象可以通过父类的指针或引用来调用子类覆盖的成员函数。 5. **输入输出流**:C++的IO流库提供了一种流式输入输出机制,使得数据可以从文件、键盘或其他设备与程序进行交互。 在C++的发展历程中,从最初的预编译器阶段,逐步增加了面向对象的机制,如类的多重继承、模板等特性,最终在1997年形成了ANSI发布的C++标准。C++语言的词法和词法规则是程序设计的基础,包括关键字、标识符、运算符、分隔符和注释符等元素,它们共同构成了C++程序的基本结构。 学习C++意味着你可以利用其丰富的特性和强大的功能,既进行面向过程的编程,也能进行面向对象的编程,这使得C++成为了一个广泛应用的通用编程语言。理解并掌握友元函数的使用,能够帮助你更好地实现类的设计和封装,同时保持代码的灵活性和可维护性。