您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
搜索
热搜:
磁力片
|
漫画
|
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
Qt C++编程从入门到实战 微课视频版
字数: 764000
装帧: 平装
出版社: 清华大学出版社
出版日期: 2022-01-01
商品条码: 9787302582045
版次: 1
开本: 16开
页数: 500
出版年份: 2022
定价:
¥79.8
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
加入书单
收藏
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥21.56
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
编辑推荐
本书配套资源丰富,包括教学大纲、教学课件、电子教案、程序源码、习题答案、教学进度表和在线作业,作者还为本书精心录制了500分钟的微课视频。
内容简介
本书基于Qt框架介绍C++面向对象程序设计机制。全书共9章:第1章介绍面向对象程序设计所需的预备知识;第2~8章的内容包括类和对象、继承与派生、类的静态成员与常成员、多态、友元与运算符重载等面向对象的知识,并同步穿插介绍了信号与槽、界面、Qt容器、事件系统与绘图、I/O设备、主窗口和多文档应用程序编程等Qt框架的知识;第9章以实际项目为背景,提供了3个完整的综合实例。本书注重知识点与实践的紧密结合,强调读者编程习惯的养成和自主能力的培养,内容编写上贯彻“实例式”学习法,提供的实例兼顾示范性、实用性、有趣性和拓展性。本书还提供了习题、实验和附录,以全方位支撑读者的实际学习需求。本书可作为高等院校计算机相关专业“面向对象程序设计”课程的教材,也可作为各类软件开发人员的参考书。
作者简介
彭源,女,81年生,博士,副教授,2015年于复旦大学获理学博士学位,研究方向:计算机视觉、模式识别等。在国内外重要学术刊物和会议发表学术论文近20篇,其中SCI、EI检索10余篇,参与编写重点大学计算机专业系列教材、全国高等教育“十二五”规划教材、21世纪高等学校规划教材等7本。曾获得上海电力大学优秀教师、优秀班主任、“双师型”教师等称号,多次获学院、校讲课比赛一二三等奖。作为主持人或主要研发人员参与了上海市优青基金、国家自然科学基金、上海市自然科学基金、CCF-腾讯犀牛鸟基金项目等8项。
目录
第1章
程序设计基础
1.1C++程序设计语言
1.1.1程序设计语言的发展历史
1.1.2C和C++
1.2不同于C语言的C++常见语法
1.2.1输入和输出操作
1.2.2bool类型
1.2.3函数的默认值与函数的声明
1.2.4引用
1.2.5动态存储分配
1.2.6初始化
1.2.7结构体
1.2.8强制类型转换
1.2.9基于范围的for循环
1.3纯C++项目的开发流程
1.3.1项目的创建过程
1.3.2项目内容
1.3.3项目的构建与运行
1.3.4编译方式
1.4程序设计方法
1.4.1面向过程的结构化程序设计
1.4.2面向对象程序设计
1.5Windows图形用户界面编程
1.5.1基于事件驱动的消息机制
1.5.2一个最简单的WindowsGUI程序
1.5.3一个完整的WindowsGUI程序
1.6基于Qt的图形用户界面编程
1.6.1一个最简单的QtGUI程序
1.6.2Qt程序的发布
1.6.3设置程序图标
1.7编程实例——模拟病毒程序
课后习题
实验1C++和GUI编程初探
第2章
类和对象
2.1初识类和对象
2.1.1类的定义
2.1.2对象的定义与使用
2.1.3this指针
2.1.4项目文件的组织
2.2构造函数和析构函数
2.2.1构造函数
2.2.2析构函数
2.3Qt窗口及部件初探
2.3.1窗口类
2.3.2部件类
2.4更复杂的类和对象
2.4.1类的组合
2.4.2对象数组
2.4.3类的嵌套
2.5相关指针
2.5.1对象指针
2.5.2对象数据成员指针
2.5.3类数据成员指针
2.5.4普通函数指针
2.5.5成员函数指针
2.6Qt信号与槽通信机制
2.6.1信号与槽
2.6.2关联信号与槽
2.7编程实例——学生成绩的排名
课后习题
实验2类的使用以及简单GUI交互
第3章
继承与派生
3.1类的继承与派生
3.1.1派生类的定义
3.1.2继承方式
3.1.3重定义成员函数
3.1.4赋值兼容规则
3.2派生类的构造与析构函数
3.2.1实现方式
3.2.2调用顺序
3.3二义性问题与虚基类
3.3.1二义性问题
3.3.2虚基类
3.4Qt自定义派生类
3.4.1使用向导创建项目
3.4.2静态创建类对象和动态创建类对象的区别
3.4.3对象树机制
3.4.4自定义信号和槽
3.5Qt中的界面
3.5.1命名空间
3.5.2快速实现界面设计
3.5.3信号与槽的自动关联
3.6Qt常用部件
3.6.1按钮部件
3.6.2输入部件
3.6.3显示部件
3.7编程实例——计算器
课后习题
实验3派生类、信号与槽和界面设计
第4章
类的静态成员与常成员
4.1静态成员
4.1.1静态数据成员
4.1.2静态成员函数
4.2Qt标准对话框
4.2.1QDialog类的层次
4.2.2颜色对话框及其静态成员函数
4.2.3文件对话框及其静态成员函数
4.2.4字体对话框及其静态成员函数
4.3常成员
4.3.1常数据成员
4.3.2常成员函数
4.4Qt中常见的数据类
4.4.1QChar类
4.4.2QString类
4.4.3QByteArray类
4.5程序国际化
4.6编程实例——常用信息的获取与展示
课后习题
实验4静态成员和常成员的使用
第5章
多态
5.1静态多态——模板
5.1.1函数模板
5.1.2类模板
5.2Qt中的容器
5.2.1列表
5.2.2向量
5.2.3链表
5.3动态多态
5.3.1虚函数
5.3.2调用方式
5.3.3实现原理
5.4抽象类与纯虚函数
5.4.1抽象类
5.4.2纯虚函数的定义
5.5编程实例——猴子选大王
课后习题
实验5多态的实现与容器的使用
第6章
Qt事件及绘图
6.1事件处理机制
6.2常见事件
6.2.1鼠标事件
6.2.2滚轮事件
6.2.3键盘事件
6.2.4定时器事件
6.3Qt二维绘图
6.3.1绘图系统
6.3.2画笔和画刷
6.3.3图像绘图设备
6.4Qt抽象部件的可视化实现
6.4.1QWidget类层次
6.4.2抽象部件的派生类实现
6.5使用OpenCV库进行图像处理
6.5.1图像的读写
6.5.2灰度化与二值化
6.5.3图像的平滑
6.5.4视频的读写
6.5.5OpenCV和Qt的结合
6.6编程实例——爱心表白小程序
课后习题
实验6事件处理与绘图
第7章
数据I/O
7.1标准C++中的流
7.1.1流类库
7.1.2文件类型
7.1.3使用流实现文件I/O
7.2Qt的I/O设备
7.2.1I/O设备类层次
7.2.2访问I/O设备的过程
7.3Qt文件操作
7.3.1QFile类
7.3.2QTemporaryFile类
7.3.3QSaveFile类
7.3.4QFileInfo类
7.4Qt目录操作
……
摘要
第3章继承与派生 继承与派生是面向对象程序设计的第二大特征,它允许在已有类(称为基类或父类)的基础上,根据自己的需要向类中添加更多的属性和方法,从而创建出一个新的类(称为派生类或子类)。继承与派生实际是从不同的角度来看的同一个过程: 保持已有类的特性而构成新类的过程称为类的继承; 在已有类的基础上新增自己的特性而产生新类的过程称为类的派生。派生类除了具有新增的属性和方法外,还自动具有基类的所有属性和方法。对于派生类,还可以继续派生出新类,因此基类和派生类是相对而言的。类层层派生,可形成复杂的继承结构。 继承机制的引入使程序设计时可以层层抽取出对象之间的共同点,从而减少了代码的冗余; 避免了不必要的重复编程,增加了代码的可重用性。派生出的新类可以基于已有工作进一步扩展,以快速开发出高质量的程序。 视频讲解 3.1类的继承与派生 3.1.1派生类的定义 派生类只有一个直接基类的继承,称为单继承,否则称为多继承。在图31中,汽车和船都是单继承,它们都只有一个基类——交通工具; 而房车有两个基类——房子和汽车; 水陆两栖车也有两个基类——汽车和船,它们都是多继承。 图31类的继承关系 派生类的定义格式如下。 class 派生类名:继承方式 基类1,…,继承方式 基类n {//基类可以有多个,之间用逗号隔开,每个基类都要写明继承方式 派生类新增成员的声明 }; 基类需要是已有的类,派生类是新定义的类,派生类的基类在派生类名后以“:”开头的基类列表中指明。当单继承时,此处只有一个基类; 当多继承时,有多个基类,之间通过逗号隔开。每个基类都需要指明继承方式,且每个继承方式都只对紧随其后的基类的继承。继承有public、private、protected 3种方式。 (1) public: 表示公有继承。 (2) private: 表示私有继承。 (3) protected: 表示保护继承。 下面举例说明。为了定义派生类,首先要有交通工具类Conveyance作为基类,其定义和实现如下。 class Conveyance//交通工具类 { double speed; //时速 public: double getSpeed() { return speed; } }; 然后在该类的基础上派生出汽车类Car,其定义和实现如下。 class Car: public Conveyance//汽车类 { int wheelsNum; //车轮数 public: int getWheelsNum() { return wheelsNum; } }; { a.showInfo(); } 在已有Car类型对象myCar的情况下: Conveyance x1,&x2=myCar,*ptr; ptr=&myCar; x1=myCar; func(myCar); 上述语句都是合法的。引用x2只代表了myCar对象中属于Conveyance类的那部分属性的内存空间; 指针ptr虽然实际指向派生类对象myCar,但由于它自己是Conveyance类型的指针,所以只能调用getSpeed()函数,而无法通过它去操作getWheelsNum()函数; 只从myCar中复制了speed属性的值给x1对象,wheelsNum的值被舍弃; func()函数内部执行的是Conveyance类的showInfo()函数。 在以后的编程中,读者经常会看到把派生类对象当作基类对象使用的情形。 3.2派生类的构造与析构函数 之前说到派生类会继承基类中的全部成员,其实有一些例外,就是构造函数和析构函数。它们都不能被派生类所继承,在派生类中需要声明和实现自己的构造函数,以及在必要的时候自定义析构函数。 视频讲解 3.2.1实现方式 派生类构造函数在实现时只需对本类中新增的成员进行初始化,基类部分的初始化会自动调用基类构造函数完成。这里有以下几点建议。 (1) 当基类中声明了带有形参的构造函数时,派生类也应声明带形参的构造函数,并传参数给基类构造函数。 (2) 当基类中声明了不带参的构造函数时,派生类构造函数可以不向基类构造函数传递参数,此时基类部分的初始化调用的是基类不带参构造函数。 (3) 若基类中未声明构造函数,在派生类中也可以不声明,此时都采用系统默认生成的构造函数。例如,3.1节中各个派生类对象生成时均是调用了派生类和基类的默认构造函数。 构造函数的实现格式如下。 派生类类名::派生类类名(基类所需形参,本类数据成员所需形参):基类名(基类实参) { 新增数据成员赋初值; //更建议写在初始化列表处 } 形参列表中形参的顺序无规定,前后可以调换。“基类实参”通常由派生类构造函数形参列表中的“基类所需形参”给出,但也可以是常量、全局变量等。对基类构造函数传递参数必须在派生类的初始化列表中进行。 例如,首先在Conveyance类定义的public部分添加构造函数如下。 Conveyance(int spd):speed(spd) { cout<<"Constructor of Conveyance."<
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网