课堂之前
1. 课堂的笔记使用腾讯文档在线方式,支持导出等操作。
2. 直播使用群课堂,回放直接生成在群里。
别是Qt)多记忆一些相关的编程词汇,可以下载欧路词典App,添加对应的单词书进行记忆。
4. 为什么要学习C++?
- 之前的开发主要是基于C语言的,C语言的编程思想是面向过程的;C++是一种新的基于面向对象的一种编程思想。
- 之前的开发并不包含图形用户界面(GUI)开发,Qt是一种嵌入式领域常用的GUI框架,而Qt是基于C++语言的。
- C++偏理论,Qt偏实践,相辅相成。
5. 每天在下课之前都会简单地复习一下当天所学的知识并划重点,重点分为以下一个层次:重点、掌握、熟悉、了解
6. 远程软件使用ToDesk
链接:https://pan.baidu.com/s/1GIz--jUkv1N0_k12xdGtTw
提取码:hqyj
--来自百度网盘超级会员V5的分享
7. 建议Windows操作系统开启文件扩展名显示功能。
一、C++简介(了解)
1983年,贝尔实验室(Bell Labs)的Bjarne Stroustrup发明了C++。 C++在C语言的基础上进行了扩充和完善,是一种面向对象程序设计(OOP)语言。
Stroustrup说:“这个名字象征着源自于C语言变化的自然演进”。还处于发展完善阶段时被称为“new C”,之后被称为“C with Class”。C++被视为C语言的上层结构,1983年Rick Mascitti建议使用C++这个名字,就是源于C语言中的“++”操作符(变量自增)。而且在共同的命名约定中,使用“+”以表示增强的程序。
常用于系统开发,引擎开发、嵌入式开发等应用领域, 至今仍然是最受广大程序员喜爱的编程语言之一。
二、C++的特点(熟悉)
- 在支持C基础上,全面支持面向对象编程
- 编程领域广泛,功能强大
- 标准保持更新,目前常用的标准有ISO C++ 98标准,ISO C++11标准
- 为数不多的支持底层操作的面向对象语言
- 在面向对象的编程语言中执行效率极高
三、面向过程与面向对象(掌握)
3.1 面向过程与面向对象的例子
【思考】如果要把大象装进冰箱,应该怎么做?
面向过程的编程思想:
1. (我)把冰箱门打开
2. (我)把大象装进去
3. (我)把冰箱门关上
面向对象的编程思想:
1. (我)把大象和冰箱“拟人化”
2. (我)给大象和冰箱分配任务
3. 大象和冰箱自己完成装配
3.2 面向过程与面向对象的特点
面向过程的语言,它关注的重点是“算法”,可以认为是一系列有序的步骤,只要按照这个步骤来做,程序就可以得到预期的结果。所以面向过程的语言编写的程序通常是一系列有序的语句,这种思考方式更接近计算机执行命令的本质,因此优势是程序的执行效率高,劣势是开发效率低。
面向对象的语言,它关注的重点是“对象”,可以认为对象是一系列由于某种联系聚焦在一起的数据。面向对象的编程要做的是处理不同的对象之间的关系,来进行数据之间的交互。这种思考方式更接近人类的思考方式,因此优势是开发效率高,劣势是程序的执行效率低。
C++是兼容面向过程和面向对象,以面向对象为主的编程语言。
3.3 面向对象的重点
核心特点:封装 → 继承 → 多态
基础:对象、类
四、环境安装
为了授课方便,C++与Qt使用统一的开发环境:Qt Creator,安装包
下载链接:https://pan.baidu.com/s/1S91-DH2eXpelQSjv9-SJLA
提取码:hqyj
--来自百度网盘超级会员V5的分享
这个安装包使用的原因主要是兼容性好。Qt Creator的安装非常简单,基本上就是一直下一步,只需要注意一点:不要使用包含中文字符的路径!
启动时只需要点击
第一次使用为了支持中文内容的输出,需要做如下设置:
1. 在Qt Creator中,依次点击工具---选项
2. 在弹出的窗口中按照下图所示进行操作。
3. 建议重新启动Qt Creator再创建项目。
如果只是进行C++的编程,也可以使用其它的开发环境,但不能保证运行结果的一致性。应急时也可以使用在线运行。
五、创建C++语言项目
可以使用Qt Creator来创建纯C++语言项目,操作步骤如下:
1. 启动了Qt Creator后,点击按钮。
2. 在弹出的窗口中,依次按照下图所示进行操作。
3. 在弹出的窗口中,依次设置项目名称、创建路径后,点击“下一步”。需要注意的是,路径不要包含任何中文字符!
4. 在弹出的窗口中,直接点击“Next”。
5. 在项目管理窗口,直接点击“完成”。
6. 可以看到新的项目中包含了两个文件。
这两个文件分别是.pro项目配置文件与.cpp源代码文件。
如果要开启对C++11的完全支持,则需要在.pro文件中增加下面的配置参数:
QMAKE_CXXFLAGS += -std=c++11
cpp源文件的基础内容如下。
#include <iostream> // 引入标准输入输出流的头文件
using namespace std; // 使用标准名字空间
/**
* @brief 主函数,程序的入口
*/
int main()
{
// 输出一句“Hello World!”,再输出一个换行。
cout << "Hello World!" << endl;
// 尝试输出中文
cout << "你好,世界!" << endl;
return 0;
}
点击左下角的
(快捷键 Ctrl+R),即可编译并运行程序。
常见错误(结合各种同学的私聊总结如下):
1. 路径中文,解决方法:重新创建一个不包含中文路径的项目。
2. 环境配置冲突,解决方法:取消影子构建。
3. 命令行输出不支持中文,C++本来就不支持中文,我们之所以能输出中文的原因是设定文件编码刚好为系统命令行窗口的编码,C++仅仅起到一个文字数据的传输功能而已,因此部分操作系统命令行编码特殊时,课程中通用的设置可能会失效。