- 内容提要
- 前言
- 第 1 章 预备知识
- 第 2 章 开始学习 C++
- 第 3 章 处理数据
- 第 4 章 复合类型
- 第 5 章 循环和关系表达式
- 第 6 章 分支语句和逻辑运算符
- 第 7 章 函数——C++的编程模块
- 第 8 章 函数探幽
- 第 9 章 内存模型和名称空间
- 第 10 章 对象和类
- 第 11 章 使用类
- 第 12 章 类和动态内存分配
- 第 13 章 类继承
- 第 14 章 C++中的代码重用
- 第 15 章 友元、异常和其他
- 第 16 章 string 类和标准模板库
- 第 17 章 输入、输出和文件
- 第 18 章 探讨 C++新标准
- 附录 A 计数系统
- 附录 B C++保留字
- 附录 C ASCII 字符集
- 附录 D 运算符优先级
- 附录 E 其他运算符
- 附录 F 模板类 string
- 附录 G 标准模板库方法和函数
- 附录 H 精选读物和网上资源
- 附录 I 转换为 ISO 标准 C++
- 附录 J 复习题答案
第 11 章 使用类
本章内容包括:
- 运算符重载。
- 友元函数。
- 重载<<运算符,以便用于输出。
- 状态成员。
- 使用 rand( ) 生成随机值。
- 类的自动转换和强制类型转换。
- 类转换函数。
C++类特性丰富、复杂、功能强大。在第 9 章,您通过学习定义和使用简单的类,已踏上了面向对象编程之旅。通过定义用于表示对象的数据的类型以及(通过成员函数)定义可对数据执行的操作,您知道了类是如何定义数据类型的。我们还学习了两个特殊的成员函数——构造函数和析构函数,其作用是管理类对象的创建和删除。本章将进一步探讨类的特征,重点是类设计技术,而不是通用原理。您可能发现,本章介绍的一些特性很容易,而另一些很微妙。要更好地理解这些新特性,应使用这些示例进行练习。如果函数使用常规参数而不是引用参数,将发生什么情况呢?如果忽略了析构函数,又将发生什么情况呢?不要害怕犯错误,因为在解决问题的过程中学到的知识,比生搬硬套而不犯错误时要多得多(然而,不要认为所有的错误就都会让人增长见识)。这样,您将更全面地了解 C++是如何工作的以及它可以为我们做哪些工作。
本章首先介绍运算符重载,它允许将标准 C++运算符(如=和+)用于类对象。然后介绍友元,这种 C++机制使得非成员函数可以访问私有数据。最后介绍如何命令 C++对类执行自动类型转换。学习本章和第 12 章后,您将对类构造函数和类析构函数所起的作用有更深入的了解。另外,您还将知道开发和改进类设计时,需要执行的步骤。
学习 C++的难点之一是需要记住大量的东西,但在拥有丰富的实践经验之前,根本不可能全部记住这些东西。从这种意义上说,学习 C++就像学习功能复杂的字处理程序或电子制表程序一样。任何特性都不可怕,但多数人只掌握了那些经常使用的特性,如查找文本或设置为斜体等。您可能在那里曾经学过如何生成替换字符或者创建目录,除非经常使用它们,否则这些技能可能根本与日常工作无关。也许,学习本章知识的最好方法是,在我们自己开发的 C++程序中使用其中的新特性。对这些新特性有了充分的认识后,就可以添加其他 C++特性了。正如 C++创始人 Bjarne Stroustrup 在一次 C++专业程序员大会上所建议的:“轻松地使用这种语言。不要觉得必须使用所有的特性,不要在第一次学习时就试图使用所有的特性。”
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论