跳转到内容

Saylor.org 的 C++ 编程

0% developed
来自维基教科书,为开放世界提供开放书籍

亲爱的维基百科人:

毫无疑问,你们中有些人熟悉Saylor.org上提供的免费大学课程。与维基媒体社区一样,我们致力于为所有拥有互联网接入的人提供免费且便捷的教育。在 Saylor,我们将一些我们自己创建的教育材料与互联网上已经可用的材料结合起来。但是,由于我们有时会使用指向第三方材料的链接,因此我们课程中的这些部分并不完全可持续。Saylor 维基教科书项目是一种让您帮助最大限度地减少这种威胁的方法。我们已将许多课程大纲上传到维基教科书,希望你们能为我们的工作做出贡献。我们的课程大纲是由我们的顾问教授通过研究各种传统实体机构的相关课程的教学大纲集合而制定的。这保证了我们的学生将获得与传统机构注册的学生相同的学习机会。我们相信我们已经为我们的课程创建了最佳结构,它优化了学生应该掌握的信息。通过创建与 Saylor 已有的课程大纲相一致的开放许可内容(以维基教科书的教科书形式),您可以为不断扩展的维基材料库添砖加瓦,同时提高我们课程的可持续性。

感谢您的帮助,

Saylor 团队


如果您想了解更多关于该项目的信息,请访问User:Thomas_Simpson



概要

我们将从讨论 C++ 编程的基本要素开始:变量、循环、表达式、函数和字符串类。接下来,我们将介绍面向对象编程的基础知识:类、继承、模板、异常和文件操作。然后,我们将回顾函数和类模板,以及用于执行字符在文件之间输入输出的类。本文还将涵盖命名空间、异常处理和预处理器指令等主题。在文本的最后一部分,我们将学习一些更复杂的编程技巧,这些技巧处理数据结构,例如链表和二叉树。


全球学习成果

成功完成本课程后,学生将能够

  • 编译和执行用 C++ 语言编写的代码。
  • 使用基本数据类型以及条件和迭代结构。
  • 定义和使用函数、指针、数组、结构体、联合体和枚举。
  • 使用面向对象编程的原理编写 C++。
  • 编写模板并操作文件。
  • 编写和使用命名空间、异常和预处理器指令。
  • 编写表示链表和二叉树的代码。
  • 将简单的文字问题翻译成 C++ 语言。


成功完成本单元后,学生将能够

  • 描述 C++ 的基本历史。
  • 为简单的 C++ 项目设置 NetBeans IDE。
  • 创建和编译简单的 C++ 程序。
  • 有效地使用 cout 和 cin 对象。
  • 声明和使用变量。
  • 在 C++ 中使用条件和迭代结构。
  • 定义和使用简单函数。


1.1 C++ 历史:起源和示例
1.2 如何编译和运行 C++ 程序
1.2.1 Linux 方式
1.2.2 其他 NetBeans 方式
1.3 C++ 基础
1.3.1 程序结构
1.3.2 变量、数据类型和常量
1.3.3 基本输入和输出
1.3.4 控制结构
1.3.5 简单函数
1.4 C++ 参考
1.5 C++ 编码实践

成功完成本单元后,学生将能够

  • 列出 C++ 语言中的运算符。
  • 定义和使用数组、结构体、联合体和枚举。
  • 使用指针。
  • 使用字符串类的函数。


2.1 算术运算符
2.2 基本数据结构
2.2.1 数组和字符串
2.2.2 指针
2.2.3 结构体、联合体和枚举
2.3 C++ 编码实践:字符串类

成功完成本单元后,学生将能够

  • 定义和比较/对比构造函数和析构函数。
  • 设计指向类的指针并创建运算符重载。
  • 定义和使用“this”关键字,并适当地使用静态成员。
  • 设计并适当地使用友元函数和类。
  • 使用类继承来改善代码设计。
  • 解释如何通过 C++ 代码实现多态性。


3.1 类设计
3.1.1 构造函数和析构函数
3.1.2 构造函数重载和指向类的指针
3.1.3 运算符重载
3.1.4 “this”关键字
3.1.5 静态成员
3.2 类之间的继承
3.2.1 友元函数
3.2.2 友元类
3.2.3 类之间的继承
3.2.4 多重继承
3.3 多态性
3.3.1 指向基类的指针
3.3.2 虚成员
3.3.3 抽象基类
3.4 编码练习

成功完成本单元后,学生将能够

  • 编写类和函数模板。
  • 使用类操作文件。
  • 在 C++ 代码中使用命名空间和异常。
  • 编写预处理器指令。


4.1 模板
4.1.1 函数模板
4.1.2 类模板
4.1.3 模板特化
4.1.4 模板的非类型参数
4.1.5 模板和多文件项目
4.2 文件输入/输出
4.2.1 打开和关闭文件
4.2.2 文本文件
4.2.3 二进制文件
4.3 命名空间
4.4 异常
4.5 预处理器指令

成功完成本单元后,学生将能够

  • 描述并编写二叉树结构的代码。
  • 通过组合链表和二叉树来编写特殊数据结构的代码。


5.1 编码练习:二叉树
5.2 编码练习:二叉树列表
华夏公益教科书