前言 C++语言是在C语言基础上继承和发展而来的一种面向对象程序设计语言。C++语言不仅继承了C语言高效、灵活、可移植性好等特点,而且引入了面向对象程序设计的思想,实现了类的封装、数据隐藏、继承及多态性,减少代码的维护开销,增强代码的可重用性。 本书注重C++语言的基本概念、基本语法、基本结构,针对每个章节的知识点都有精简的实例讲解,强调这些概念在编程过程中的具体实现方法。本书所涉及的概念、算法、语法包括例题的讲解都强调规范化、结构化,以培养读者良好的编程习惯。此外,本书以学生信息管理系统作为实际案例开发,让读者了解面向对象程序设计的具体过程,通过理论知识的实际应用,加深对理论知识的掌握,同时培养读者对实际问题的分析能力和解决能力,进一步提高读者的实践开发能力。 本书共分为两部分,第一部分是C++语言基础,共4章,各章主要内容如下。 第1章是C++概述,简单介绍C++语言的发展历程、特点、开发环境,以及具体的开发步骤。 第2章是C++程序设计基础,主要介绍基本数据类型、常量、变量、运算符、表达式、控制结构等。 第3章是函数,详细介绍函数的定义、函数的调用和声明、函数的参数传递、函数重载、变量的作用域等。 第4章是用户自定义数据类型,主要介绍数组、指针、引用、枚举、结构体等。 第二部分是面向对象程序设计基础,共9章,各章主要内容如下。 第5章是类与对象,详细介绍类的概念和定义、对象创建和使用、构造和析构函数、this指针、友元等。 第6章是继承与派生,详细介绍继承和派生的概念、继承方式、派生类的构造和析构、多继承、虚基类等。 第7章是多态,详细介绍多态的概念、运算符重载、虚函数、纯虚函数、抽象类等。 第8章是模板,主要介绍模板的概念、函数模板、类模板等。 第9章是输入/输出流,主要介绍输入/输出流的概念、标准输入/输出流、文件流等。 第10章是字符串,主要介绍字符串的存储和初始化、字符串的输入/输出、标准的string类,以及如何使用string类等。 第11章是STL编程,主要介绍STL容器的相关概念、STL算法、STL迭代器等。 第12章是异常处理,详细介绍异常处理的概念和机制、异常类、自定义异常、重抛出异常、多重异常的捕获等。 第13章是应用案例,以学生信息管理系统为例介绍了C++面向对象开发的具体过程。 本书所列举的例题、习题均在Visual Studio 2015下调试运行。 本书有配套的实验指导书《C++程序设计实验指导书》,内有12个章节的上机实验内容,同时与书中的章节相对应,针对学习中的难点,补充了大量的例题讲解和各种典型的习题。 本书由多年从事计算机教学的一线教师编写,由广东理工学院李代平教授主审了教材的内容;由广东理工学院向志华、张莉敏担任主编,广东理工学院邓怡辰、郭锐、邵亚丽担任副主编。第1章、第2章、第11章由向志华负责编写;第5章、第12章、第13章由张莉敏编写;第6章、第7章、第8章由郭锐负责编写;第4章、第9章、第10章由邓怡辰负责编写;第3章由邵亚丽负责编写。向志华负责本书的统稿工作。 由于编者水平有限,书中难免存在不足之处,敬请读者给予批评和指正。 编者2020年12月