一、C++简介

C++语言的发展史
1983年,贝尔实验室(Bell Labs)的Bjarne Stroustrup发明了C++。 C++在C语言的基础上进行了扩充和完善,是一种面向对象程序设计(OOP)语言。

Stroustrup说:"这个名字象征着源自于C语言变化的自然演进"。还处于发展完善阶段时被称为"new C",之后被称为"C with Class"。C++被视为C语言的上层结构,1983年Rick Mascitti建议使用C++这个名字,就是源于C语言中的"++"操作符(变量自增)。而且在共同的命名约定中,使用"+"以表示增强的程序。

常用于系统开发,引擎开发、嵌入式开发等应用领域, 至今仍然是最受广大程序员喜爱的编程语言之一。

  1. C++特点
  • 在支持C语言的基础上,前面支持面向对象编程。
  • 编程领域广泛,功能强大(最难的编程语言之一)。
  • C++语言的标准一直保持着更新,本次课程主要以ISO C++98与C++ 11标准为主。
  • 为数不多的支持底层的操作的面向对象编程语言。
  • 在面向对象的语言当中执行效率极高。

面向对象编程的重要知识点

  • 对象
  • 封装
  • 继承
  • 多态

封装->继承->多态,也被称为面向对象编程的三大特性。

  1. 面向过程与面向对象的区别

【思考】如果把大象装进冰箱,应该怎么做?

  1. (我)打开冰箱
  2. (我)把大象放进去
  3. (我)把冰箱关上

上面这种思想就是典型的面向过程的思想,这种思想关注的重点是"过程","过程"指的是一系列有序的步骤,只要按照这个步骤来做,就可以得到想要的结果。这种思维方式偏向于计算机执行命令的本质,通常程序位一些有序的命令,这样的程序特点是执行效率高(因为都是亲历亲为)。适合小体量的软件项目编程,偏向性能的项目一般这样做。

使用面向对象的思想把大象装进冰箱:

1、(我)把大象和冰箱拟人化。

2、(我)给大象和冰箱安排任务。

  1. 大象和冰箱执行任务

面向对象的语言,关注的重点是"对象"。在计算机当中,"对象"可以理解为一系列由于某种联系而聚焦在一起的数据,在编程的过程当中,处理对象之间的关系,这种思考方式更近于人类的思考方式。这种的程序缺点是执行效率低,但是编程效率高,适合大规模的软件项目。

开发环境

单论C++的开发环境,没有严格的要求。为了学习的方便,直接使用下一门课程的环境进行开发。Qt Creator

软件安装比较简单,只需要在一个不包含中文路径下,一直点击"下一步"即可。

安装完成后,为 了使其支持中文输出,更改下面的编码。

设置完成后,重启Qt Creator,就可以新建C++项目了

  1. 点击
  2. 再点击的窗口中,按照下图所示进行操作

3、在弹出的窗口中,先输入项目名称,在设定项目路径,最后点击"下一步"。不能包含中文字符

  1. 在弹出的窗口中,直接点击"下一步"
  1. 在项目管理界面,直接点击"完成"

点击来运行。

  1. 可以看到新项目中包含的文件

.pro文件为项目配置文件,通常不需要手动修改,只有在项目中完全开启C++11功能时,增加下面这条语句即可。

复制代码
QMAKE_CXXFLAGS += -std=c++11`
`

添加完成之后,别忘记保存。保存ctrl+s

补充几个快捷键的使用:

  1. Alt+0 显示/隐藏边栏(有些电脑可能时win+0)
  2. ctrl+A 全选,再ctrl+i 对齐。代码排版
  3. ctrl+F 搜索+替换
  4. ctrl+R 快捷键运行程序

更换主题:

相关推荐
码匠许师傅5 小时前
【C++ 面试真题】聊聊 C++ 的移动语义与右值引用
java·c++·面试
2603_965148116 小时前
如何解析JSON数据?API返回的商品信息处理教程
开发语言·数据库·python·自动化·json·api
小小龙学IT7 小时前
DuckDB 深度实战:用 C++ 在进程内跑一个「分析型数据库」
数据库·c++
知无不研8 小时前
lambda表达式的使用(3)
开发语言·c++·lambda
cfm_29149 小时前
SpringAI + Ollama 本地大模型
java·开发语言·人工智能·语言模型
C++ 老炮儿的技术栈10 小时前
基于Qt实现轻量化本地音乐播放器
开发语言·c++·qt·c·播放器·音乐
qq_4480111610 小时前
C语言中的柔性数组
c语言·开发语言·柔性数组
小白学大数据10 小时前
长周期爬虫的数据一致性:断点续爬 + 事务回滚保障采集质量
开发语言·爬虫·测试工具
zlinear数据采集卡11 小时前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
Poo_Chai11 小时前
QT emit信号后完整处理流程,包括槽函数响应流程
java·开发语言·数据库