OpenI 启智社区

启智社区,确实给力

当前位置:首页 > 学习 > 实训 >

C++语言程序设计

C++语言程序设计

  • 来源:清华大学
  • 章节:12 单元:12

  • 郑莉

  • 秦雪迪

  • 郭格
进入实训课程

课程简介:

本课程针对程序设计的初学者,以面向对象的程序设计思想为主线,以通俗易懂的方法介绍C++语言,引导读者以最自然的方式,将人类习惯的面向对象的思维方法运用到程序设计中。主要内容包括程序设计基础知识、类与对象的基本概念、继承与多态、输入输出流,以及泛型程序设计。此外,本课程还介绍了一些常用数据结构基础知识,使得读者学习本课程后,能够解决一些简单的实际问题。




图<br>1






图<br>1


课程章节:

第1章 绪 论

本章首先从发展的角度概要地介绍了面向对象程序设计语言的产生和特点,面向对象方法的由来及其基本概念以及什么是面向对象的软件工程。最后介绍信息在计算机中的表示和存储以及程序的开发过程。

第2章 C++简单程序设计

本章首先简要介绍C++语言的发展历史及其特点,接着介绍构成C++语句的基本部分—字符集、关键字、标识符、操作等。程序设计工作主要包括数据结构和算法的设计,数据类型、数据的类型转换及简单输入输出是关于数据的基础知识,本章介绍C++的基本数据类型和自定义数据类型;算法要由一系列控制结构组成,本章介绍的顺序、选择和循环结构是程序设计中最基本的控制结构,也是构成复杂算法的基础。

第3章 函数

本章介绍函数的概念和语法,以及结构化程序设计自顶向下逐步求精的功能分解思想。 C++继承了C语言的全部语法,也包括函数的定义与使用方法。在面向过程的结构化程序设计中,函数是模块划分的基本单位,是对处理问题过程的一种抽象。在面向对象的程序设计中,函数同样有着重要的作用,它是面向对象程序设计中对功能的抽象。 一个较为复杂的系统往往需要划分为若干子系统,然后对这些子系统分别进行开发和调试。高级语言中的子程序就是用来实现这种模块划分的。C和C++语言中的子程序体现为函数。通常我们将相对独立的、经常使用的功能抽象为函数。

第4章 类与对象

本章首先介绍面向对象程序设计的主要特点:抽象、封装、继承和多态;接着围绕数据封装这一特点,着重讲解面向对象设计方法的核心概念——类。其中包括类的定义、实现以及如何利用类来解决具体问题。

第5章 数据的共享与保护

C++是适合于编写大型复杂程序的语言,数据的共享与保护机制是C++的重要特性之一。本章介绍标识符的作用域、可见性和生存期的概念,以及类成员的共享与保护问题。最后介绍程序的多文件结构和编译预处理命令,即如何用多个源代码文件来组织大型程序。

第6章 数组、指针与字符串

C++从C继成来的一个重要特征就是可以直接使用地址来访问内存,指针变量便是实现这一特征的重要数据类型,应用指针,可以方便地处理连续存放的大量数据,以较低的代价实现函数间的大量数据共享,灵活地实现动态内存分配。 字符数组可以用来表示字符串,这是从C语言继承的有效方法,但是从面向对象的观点和安全性的角度来看,用字符数组表示的字符串有不足之处,因此标准C++类库中提供了string类,这是通过类库来扩展数据类型的一个很好的典范。 本章介绍数组类型与指针类型、动态内存分配以及字符串数据的存储与处理。

第7章 类的继承

本章介绍面向对象程序设计的重要特征——类的继承。 面向对象的程序设计中提供了类的继承机制。以原有的类为基础产生新的类,我们就说新类继承了原有类的特征,也可以说是从原有类派生出新类。类的派生机制的好处在于代码的重用性和可扩充性。通过继承可以充分利用别人做过一些类似的研究,和已有的一些分析、解决方案。 派生新类的过程一般包括吸收已有类的成员、调整已有类成员和添加新的成员三个步骤。本章围绕派生过程,着重讨论不同继承方式下的基类成员的访问控制问题、构造函数和析构函数。最后介绍通过虚继承避免冗余和二义性问题。

第8章 多态性

面向对象程序设计的真正力量不仅仅在于继承,而在于将派生类对象当基类对象一样处理的能力。支持这种能力的机制就是多态和动态绑定。 本章首先介绍的运算符重载,是一种静态多态机制,它与函数重载的道理时一样的。 本章介绍的动态多态性是面向对象程序设计语言的重要特征,在C++中是通过虚函数来实现的。 很多情况下,基类中的虚函数是为了设计的目的而声名的,没有实现代码,这就是纯虚函数,其所在的类成为抽象类。抽象类是为后继所有派生类设计的同一抽象接口。

第9章 模板与群体数据

本章首先介绍本章首先介绍函数模板和类模板的概念和基础语法,并以使用类模板和函数模板的语法,举例说明了对线性群体数据的存储和处理,以及几种数据查找和排序算法。

第10章 泛型程序设计与C++标准模板库

本章简单介绍STL中涉及到的一些概念、术语,以及它的结构、主要的组件的使用方法。重点介绍容器、迭代器、算法和函数对象的基本应用。目的是使读者对STL与泛型程序设计方法有一个概要性的了解。如果需要详细了解STL,请读者参考专门的书籍和有关的手册。尽管如此,如果读者有一定的数据结构基础知识,对于理解本章的内容会很有帮助。如果一部分初学编程的读者学习本章感到困难,也可以暂时略过,这并不影响后续章节的学习。

第11章 流类库与输入/输出

就像C语言一样,C++语言中也没有输入/输出语句。但C++标准库中有一个面向对象的输入/输出软件包,它就是I/O流类库。流是I/O流类的中心概念。本章首先介绍流的概念,然后介绍流类库的结构和使用。对于流类库中类的详细说明及类成员的描述,请读者查阅C++标准库的参考手册。

第12章 异常处理

我们在开发软件时,不仅要保证软件的正确性,而且应该具有容错能力。也就是说,不仅在正确的环境条件下、在用户正确操作时要运行正确,而且在环境条件出现意外或用户使用操作不当的情况下,也应该有正确合理的表现,不能轻易出现死机,更不能出现灾难性的后果。由于环境条件和用户操作的正确性是没有百分之百保障的,所以我们在设计程序时,就要充分考虑到各种意外情况,并给与恰当的处理。这就是我们本章要讲的异常处理。