图书前言

前言

C++是优秀的计算机程序设计语言,它的程序设计功能非常强大,比如鸿蒙操作系统主要就是用C++语言编写的。我国绝大多数高等院校都把它作为程序设计入门教学的首选。许多经典的C++语言程序设计教材都是基于Visual C++控制台程序设计框架编写的,内容包括C++语言概述、基本数据类型、运算符和表达式、程序流程控制、数组、函数、指针、结构体、共用体与枚举、类和对象、运算符重载、继承、虚函数与多态、模板、流等C++语言的基本概念和基本知识。这类教材强调的是培养学生理解和掌握C++语言的语法及逻辑规则,强调对C++程序设计语言的字、词、数据、表达式、语句、函数、类、对象等基本概念知识的掌握。在多年的教学实践中我们发现,这类教材缺乏对图形界面C++程序设计的介绍,学生要想掌握用C++语言设计图形界面的程序,还必须自学或者参加Visual C++语言课程的学习,而Visual C++语言体系庞大,学起来有一定的困难,造成很多学生虽然学了C++语言,却不能很好地使用它。

  笔者所在学校在多年的教学改革和教学实践中,将C++语言的教学和当前流行的Qt跨平台开发框架相结合,增加了基于Qt的图形界面应用程序设计,并于2014年出版了第一部教材——《Qt C++跨平台图形界面程序设计基础》。该教材在实际教学应用中得到广泛的认可,基于Qt C++的跨平台、简单易学的优点,使得学生不仅掌握C++语言的基本概念、基本知识和基本的程序设计方法,更重要的是培养了初步的跨操作系统平台开发图形界面程序的基本技能,提高了学习的兴趣。而且Qt框架已正式对HarmonyOS提供支持,开发者可以利用Qt的C++技术栈为鸿蒙平台创建应用程序,这使得Qt C++程序设计的学习更有必要,因为鸿蒙时代已经到来。

  在对课程教学改革与实践的不断探索中,结合读者的反馈意见,作者对教材进行了修订和完善,推出了第2版。第2版在第1版的基础上完成了两方面的修订: 一是扩充和完善了C++编程基础和面向对象程序设计的相关章节内容,包括章节调整,增加和完善了语法知识和编程实例以及习题;二是将图形界面程序设计与面向对象编程有机地结合在一起,不是把图形界面编程应用作为单独的一章,而是与讲解C++语言基本知识的章节相融合,先讲解面向对象基础知识,再结合图形界面编程实现,并围绕一个规则几何图形面积和体积计算的综合程序实例逐步展开和完善。

本次修订是本书的第三次修订,一是将书名由原来的《Qt C++跨平台图形界面程序设计基础》更改为《Qt C++语言程序设计》,使书名与书的内容和教学目标更趋一致;二是原书是基于Qt4编写的,本次主要基于Qt5进行了修订,使得教材内容与时俱进,更符合教师教学和学生学习的要求。本书各章节的内容如下。

第1章,走进Qt。包括Qt简介,Windows平台下Qt C++语言集成开发环境的安装与配置,Windows平台下如何使用Qt4、Qt5开发C++语言程序,Qt4平台项目向Qt5平台移植,中文版Qt C++语言集成开发环境安装中常见问题的解决办法,不同编译器和不同版本的Qt共存问题等内容。

第2章,C++程序设计基础。包括C++语言简介,C++控制台应用程序,C++语言的基本语法成分,基本数据类型与表达式,结构化程序设计,函数,数组与字符串,指针与引用等内容。

第3章,类与对象。包括面向对象程序设计概述,类与对象的定义,构造函数与析构函数,对象的深复制,静态成员,常类型,友元,对象数组与类的组合等内容。

第4章,Qt GUI程序设计基础。包括图形界面程序设计基础知识,Qt C++中的对象、窗体、内置的窗口部件、对话框类、信号和槽、元对象系统, Qt命令行方式开发C++语言图形界面程序, Qt中窗口部件的布局,对话框程序设计, Qt5 Creator开发图形界面程序综合案例——规则几何图形面积和体积计算之菜单、工具栏的设计、规则几何图形面积和体积计算之三角形面积计算等内容。

第5章,继承与派生。包括类的继承,基类与派生类,类成员的访问控制,重名的成员,派生类中访问静态成员,派生类的构造函数与析构函数,多继承,虚继承,Qt5 Creator开发图形界面程序综合案例——规则几何图形面积和体积计算之圆柱体体积计算等内容。

第6章,虚函数与多态。包括静态联编和动态联编,类指针的关系,虚函数,纯虚函数和抽象类,Qt5 Creator开发图形界面程序综合案例——规则几何图形面积和体积计算之矩形、正方形、梯形面积计算等内容。

第7章,运算符重载。包括运算符重载概述,运算符重载的规则,友元或成员函数重载运算符,常用运算符的重载等内容。

第8章,模板和异常处理。包括模板的概念,函数模板,类模板,标准模板库STL,容器、算法、迭代器,异常处理等内容。

第9章,输入输出流与命名空间。包括I/O流概述,标准I/O流,标准I/O流对象,标准输入输出,重载插入/提取运算符,输入输出流的成员函数,流格式控制,ios成员函数,操纵算子,文件及其输入输出,命名空间,Qt5 Creator开发图形界面程序综合案例——规则几何图形面积和体积计算之圆柱体体积的保存等内容。

  修订后的教材具备如下特色。

  (1)  基于C++语言程序设计教学大纲,结合社会应用型人才需求现状,教材内容编排具有很强的针对性。

  (2) 注重编程实践能力的培养,把跨操作系统平台程序设计、图形界面程序设计和面向对象的程序设计与C++语言的基本概念和基本知识有机结合,不但传授给学生C++语言的基本概念和基本知识,而且使学生掌握利用C++进行图形界面程序设计和跨操作系统平台程序设计的基本技能。

  (3) 注重易用性,知识完善,案例丰富,即使没有任何程序设计基础,也可以通过本书的学习,循序渐进、由浅入深地掌握C++程序设计语言的语法、面向对象程序设计的方法和跨平台图形界面程序设计技能。

  (4) 既适合于程序设计初学者,也适合于希望进一步学习图形界面编程的人员。从Qt图形界面程序设计开始,本书的第4、5章、9章,全部围绕一个综合应用实例逐步完善一个图形界面程序的设计,使读者全面学习Qt图形界面开发的相关技术。

  (5) 以跨Windows、Linux平台,基于Qt的C++语言编程为框架,通过案例驱动教学,内容精练、结构紧凑,通俗易懂、重点突出,注重实用和能力的培养,克服了一般C++语言程序设计教科书中学习C++枯燥的缺点,通过生动有趣的案例,激发学生的学习兴趣,让学生由衷地喜欢上C++程序设计语言,掌握程序设计技巧和使用C++分析解决实际问题的动手能力。

  由于作者水平有限,书中不足之处在所难免,敬请读者批评指正。  编者

                                         2026年1月