一、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 快捷键运行程序

更换主题:

相关推荐
:-)28 分钟前
算法-归并排序
java·开发语言·数据结构·算法·排序算法
GIS阵地1 小时前
QgsRasterDataProvider 完整详解(QGIS 3.40.13 C++)
开发语言·c++·qt·开源软件·qgis
yaoxin5211232 小时前
462. Java 反射 - 获取声明类与封闭类
java·开发语言·python
阿里嘎多学长2 小时前
2026-07-14 GitHub 热点项目精选
开发语言·程序员·github·代码托管
charlie1145141913 小时前
Cinux: 为大内核铺路
开发语言·c++·操作系统·现代c++
2501_914245933 小时前
C语言设计模式详解:从理论到实践的完整指南
c语言·开发语言·设计模式
Hazenix4 小时前
Go 指南:一篇文章速通 Golang
开发语言·后端·golang
灯澜忆梦4 小时前
GO_复合类型---指针
开发语言·后端·golang
Ulyanov4 小时前
雷达导引头Python仿真框架:GPU加速、6-DOF模型与半实物仿真接口
开发语言·python·雷达信号处理·雷达导引头
名字还没想好☜5 小时前
Go slice 的 append 陷阱:共享底层数组导致的数据串改
开发语言·后端·golang·go·slice