本书内容包括:1. C++编程基础,主要包括内置数据类型、表达式、运算符、控制结构(分支和循环)、函数等,辅以一些有趣的练习题目,将将简单的小游戏作为编程练习,目的激发学生学习兴趣同时加强编程练习。2. 面向对象程序部分,主要有类、对象的概念及联系,对象的构造和析构、运算符重载、继承、多态。同时用简单案例通过问题分析、程序实现、运行结果分析等一系列讲解帮助同学理解面向对象程序设计的本质与核心。3. 异常处理、文件读写、模板、标准模板库等内容,进一步强化程序设计的理念。内容有易渐难,符合学生的学习规律,本教材的读者对象可以是计算机科学与技术、软件工程及相关专业本科及研究生。
面向对象程序设计的核心是设计对象,通过对象交互来解决问题。这种设计理念和方法与现实世界的构成有着密切联系,例如现实世界由各种事物构成,事物之间通过交互来处理各种问题等。对象将数据和对数据进行的操作进行了有效的封装,同时增加了信息隐藏的特性,这使得对象很容易被复用、维护和理解。因此,面向对象程序设计技术更有利于软件的设计与开发,在很长一段时间内是软件开发的一种主流技术。C++是一门面向对象程序设计语言,它兼容C,在C语言的基础上扩展而来,因此它既支持面向过程程序设计,又支持面向对象程序设计。C++程序结构灵活、代码简洁、可移植性好,同时安全性好、执行效率高、可兼容性和可扩展性强,因而被广泛应用于各种应用领域和系统软件开发中。21世纪是一个集信息化、网络化、智能化于一体的时代。在这个时代,信息处理、网络控制、智能算法研究等都离不开程序设计,因此掌握一门程序设计语言将是中高端人才必备的技能。而编写C++教材也是作者多年的心愿,正是在此背景下,我们编写了本书。本书特点本书融入了作者多年教授程序设计语言课程的体会和感受,对学生容易弄混或不易理解的地方通过案例、提示、注意等进行反复强调,从而加深学生的理解。同时将程序设计的思路尽量用日常生活中的事件进行解释,避免抽象。对每个知识点,通过提出待解决问题、设计分析、实现、运行结论分析等环节来逐一讲解。书中本着案例不在多和难、贵在精的原则,引导学生抓住问题本质。每章结束都有本章小结来总结所学知识点,并提供习题,习题答案同步提供在网上,学生可自行检测学习效果。本书内容全书由13章构成,其中前三章为程序设计基础,是C和C++共有的知识部分,没有C语言学习经历的学生可通过学习这三章奠定基础。这部分内容包括编程本质、编写程序的思路、面向对象程序概念、标识符、控制结构、数据类型、表达式、名字空间、函数等。第4章到第11章为面向对象程序设计部分,这部分内容采用循序渐进的方式逐一展开介绍,重点介绍面向对象概念,包括类与对象、运算符重载、组合与继承、多态、模板、字符串、异常处理、输入输出流和文件等。通过这部分内容的学习,学生应掌握面向对象程序设计的核心思想。第12章为C++标准模板库(STL),包括容器、迭代器以及各种算法,这是一些类模板和函数模板,它们体现了C++泛化程序设计的思想,在C++程序开发中可以直接使用。通过本章内容的学习,希望学生能在学习别人经验的同时,体会泛化程序设计的思想,并思考如何能更好地进行代码复用,从而养成对设计成果积累的习惯,以提高编程效率。第13章为利用C++开发的综合案例,通过旅行商问题、贪吃蛇游戏和学生信息管理系统案例的学习,希望学生能在软件开发中进一步提高问题分析、设计、实现、调试等能力。对学生的学习要求程序设计实践性较强,因此课后练习非常重要,学生在学习知识点的过程中,建议首先将书中案例在计算机上进行调试,根据理解分析程序运行结果并用程序的实际输出结果验证分析,从而能够读懂程序、理解程序、掌握相关知识点,并能够举一反三,利用掌握的相关知识点完成课后的编程练习。课时安排根据多年的教学经验,建议学时为64,其中理论32学时、实验32学时。编程基础是程序设计的基石,基础不好,将会极大地降低学生的学习兴趣,因此建议前三章内容的教学进度慢一点,反复夯实基础,再开始后面内容的学习。本书同时配有课件和习题答案,如有需要,可到华章网站下载。本书第10章和第11章由张雪松编写,其余章节由宋存利编写,全书统稿由宋存利完成。本书在编写过程中,得到了不少专家、学者的指导,同时也参考了学生学习程序设计语言课程的一些想法,在此对他们表示感谢。由于时间匆忙,书中难免有表述不当之处,欢迎您对书中内容提出批评和修改建议,我们将不胜感激。如需回函,请务必写明您的电子邮件地址。作者联系方式如下。E-mail:scunli@163com微信号:scunli1975作 者2020年10月于大连交通大学
宋存利,大连交通大学副教授,工学博士。主要研究方向为生产调度问题、智能优化算法等。主讲课程有“软件工程”“C++程序设计”“JSP程序设计”等,教学经验丰富,深受学生喜爱。曾主持或参加过多项辽宁省自然科学基金项目和辽宁省教育厅科研项目,作为主要参与人参与了多项国家自然科学基金项目。张雪松,大连交通大学讲师,工学博士。主要研究方向为计算机视觉和软件工程。主讲课程有“C++程序设计”“Java程序设计”等,教学经验丰富,深受学生喜爱。精通C++和Java等主流编程语言,同时具有丰富的软件项目开发和管理经验。曾主持或参加过多项辽宁省自然科学基金项目和辽宁省教育厅科研项目,作为主要参与人参与了多项国家自然科学基金项目。