图书前言

前言

面向对象程序设计(objectoriented programming,OOP)是当前主流的程序设计技术。与面向过程的程序设计(procedureoriented programming)相比,面向对象程序设计更符合人们观察和分析问题的习惯,能够更好地描述现实世界。采用面向对象技术开发的产品具有更易于重用、维护、修改和扩充等优点。

C++语言是当前非常流行的面向对象程序设计语言,各高等院校的计算机专业都开设了C++语言课程。作为面向对象程序设计的入门课程,有些学校甚至把C++语言课程作为非计算机专业的公共课。

但不可否认的是,C++语言语法复杂,想要轻松学习并熟练掌握C++语言的精髓绝非易事。

编者多年来一直从事一线教学工作,有着多年讲授C++语言的经验,知道学生学习C++语言的主要问题是什么,哪些问题对他们来说是难以理解的,哪些问题是相对比较容易的。编者一直尝试站在学生的角度看C++语言到底是什么,如何以学生的思维理解语法知识点。这也是编者编写本书的出发点。本书力求做到深入浅出,通过大量的示例把复杂的概念用浅显的语言介绍给学生。

本书的重点是介绍面向对象程序设计方法,以C++语言作为描述语言,

可以作为学习C++语言的教材。本书包含面向对象程序设计方法的内容,全书按照由浅入深的顺序讲述,共分10 章。第1章主要介绍面向过程程序设计和面向对象程序设计两种程序设计方法的各自特点和它们的区别; 重点介绍面向对象程序设计的基本概念、原理和方法。第2章主要介绍如何从C语言快速过渡到C++语言,C++语言在C语言基础上增添的非面向对象方面的特性,如函数重载、引用和命名空间等。第3章主要介绍类与对象,包括类的定义和使用、构造函数、析构函数、this指针、const 特性、静态成员、友元和类设计的注意事项等。第4章主要介绍继承的基本知识,包括继承与派生、基类与派生类的概念、函数重写、派生类的构造函数和析构函数、继承与组合等。第5章主要介绍面向对象程序设计中的多态性及其实现技术,包括静态绑定、动态绑定和多态性的概念、虚函数的引入和作用,以及如何实现多态性等内容。第6章主要介绍运算符重载,并给出几个典型运算符的重载方法。第7章主要介绍C++异常处理的语言机制,包括异常的结构、捕捉和处理,以及自定义异常类。第8章主要介绍模板技术,包括函数模板、类模板和STL模板库。第9章主要介绍C++中各种I/O 流的使用。第10章首先介绍了面向对象分析与设计的过程,然后理论结合实践给出了一个完整的面向对象分析与设计实例,以帮助

学生掌握面向对象编程。

本书具有如下特色。

(1) 本书内容由浅入深、通俗易懂,通过第2章引导学生快速地由C语言过渡到C++语言,适合有一定C语言编程基础的学生。

(2) 注重对学生面向对象程序设计思想和方法的培养,逐步培养学生掌握正确的面向对象设计思想和方法。

(3) 注重对学生实践能力的培养,全书除第1和第10章,每章均配有上机实训,通过各章的上机实训,以及第10章完整的面向对象分析与设计实例,理论联系实践,培养学生的编程能力。

(4) 全面采用C++11新标准,结合算法与数据结构,通过简明、完整、符合C++标准的案例,讲解C++面向对象特性和使用方法。

本书中的所有例题均在Dev C++ 5.11开发环境下调试完成。为便于学生学习,每章开始均配有教学提示,介绍本章中应该掌握的重点内容。

全书主要由辽宁石油化工大学的赵新慧编写,李文超、杨妮妮、王宏亮和王福威等人也参与了部分章节的编写工作。

为了便于学生学习和教师教学,本书配有全部例题的程序代码和配套的电子课件。

由于编者水平有限,不妥之处在所难免,欢迎读者批评指正。

编者2024年8月