C++_day01

news2024/11/5 4:22:05

目录

0. 课前须知

1. C++发展历史(了解)

2. C++特点(熟悉)

3. 面向对象核心术语(熟悉)

4. 开发环境

5. 新建项目

4. 开发环境

5. 新建项目


0. 课前须知

C++的思维与C语言完全不同,不能生搬硬套。

C++偏向于理论,这些理论会在Qt课程中得到验证,因此在C++课程中重点是学会这些知识点怎么用,而不是为什么用和在什么地方用。

尽量通过理解去记忆,如果理解不了请背过。

建议从现在开始背单词:

先扫第一个码下载app,在app内部扫第二个码添加单词书。

1. C++发展历史(了解)

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

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

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

2. C++特点(熟悉)

  • 在支持C的基础上,全面支持面向对象编程
  • 编程领域广泛,功能强大
  • 标准保持更新,目前常用的版本为ISO C++98标准、ISO C++11标准等。
  • 为数不多的支持底层操作的面向对象语言。
  • 在面向对象的语言中执行效率极高。

3. 面向对象核心术语(熟悉)

类、对象、封装 → 继承 → 多态

后三者被称为是面向对象的三大特性。

【思考】如果开车在路上爆胎了,应该怎么做?

面向过程的编程思想:

1. (我)边上停下来。

2. (我)后背箱拿出三角警示牌,放在路上。

3. (我)拿出备胎和千斤顶,顶起汽车,上备胎。

4. (我)收起所有工具,开到最近的修理厂。

面向对象的编程思想:

1. (我)边上停下来。

2. 打电话给对象来救援。

3. 对象来处理。

    面向过程更加注重算法,因此语言的执行效率更高,更偏向于计算机的思维,只要按照预设的算法步骤来做,就能得到预计的结果,缺点是程序开发效率低。

    面向对象更加注重调度,调度的是“对象(一系列由于某种联系聚集在一起的数据)”,更偏向于人类社会的思考方式,因此程序的开发效率高,缺点是执行效率低。

4. 开发环境

    因为C++和Qt是连续课程,因此两门课程使用的开发环境都为Qt Creator 5.4,但是纯C++也可以使用其他的开发环境。

安装包连接:

通过网盘分享的文件:qt-opensource-windows-x86-mingw491_opengl-5.4.0.exe
链接: https://pan.baidu.com/s/1guD50Xgx2yJb5eQyKq1GJQ?pwd=ym8y 提取码: ym8y

安装和配置环境的操作步骤如下:

1. 双击安装包

2. Qt Creator的安装程序非常简单,一直下一步即可,只需要注意一点:安装路径不能包含中文字符!!!

3. 安装完成后,默认直接启动Qt Creator。

4. 默认C++不支持中文输出,因此先进行中文设置:

5. 设置完成关闭Qt Creator,重新启动Qt Creator。

5. 新建项目

新建并运行一个项目的操作步骤如下:

4. 开发环境

    因为C++和Qt是连续课程,因此两门课程使用的开发环境都为Qt Creator 5.4,但是纯C++也可以使用其他的开发环境。

安装和配置环境的操作步骤如下:

1. 双击安装包

2. Qt Creator的安装程序非常简单,一直下一步即可,只需要注意一点:安装路径不能包含中文字符!!!

3. 安装完成后,默认直接启动Qt Creator。

4. 默认C++不支持中文输出,因此先进行中文设置:

5. 设置完成关闭Qt Creator,重新启动Qt Creator。

5. 新建项目

新建并运行一个项目的操作步骤如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2231109.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安娜的档案(Anna’s Archive) 镜像网站/国内最新可访问入口(持续更新)

安娜的档案(Anna’s Archive)是一个颇受关注的资源库。它涵盖了广泛的内容,可能包括各类文献、资料等。其特色在于丰富的信息储备和一定的系统性。安娜的档案(Anna’s Archive)用户可以从中获取多样的知识和数据&#…

Linux 下执行定时任务之 Systemd Timers

不知道 ECS 因为什么缘故,上面安装的 MySQL 服务老是不定期挂掉,本来想通过 Linux 得 Cron 配置个半小时的定时检测任务,结果一直没有执行,因此又尝试使用了 Systemd Timers 进行了重新配置,简要做个记录。 Systemd Ti…

【星闪EBM-H63开发板】AT固件的接口简介

引言 前面介绍了星闪EBM-H63开发板的透传固件,现在介绍一下AT固件。AT固件比透传固件要复杂的多,都让功能也多很多,可以配置很多星闪相关的参数。AT固件没有AT命令模式和数据模式切换的问题,因为收发的数据是出现在AT命令中的。 …

51单片机教程(四)- 点亮LED灯

1、项目分析 让输入/输出口的P1.0连接一盏LED灯进行点亮。 2、技术准备 1 LED组成 ​ 说明 二极管有 P型 和 N型材料构成,通常是:硅/锗 掺杂其他元素(硼、磷等) 电子是带负电的,是负电荷的载体,电子流…

开源库 FloatingActionButton

开源库FloatingActionButton Github:https://github.com/Clans/FloatingActionButton 这个库是在前面这个库android-floating-action-button的基础上修改的,增加了一些更强大和实用的特性。 特性: Android 5.0 以上点击会有水波纹效果 可以选择自定义…

Ubuntu 24.04上启用 root 用户通过 SSH 和图形界面进行登录

一、启用 root 用户的密码登录 设置 root 用户密码: 在终端中输入以下命令为 root 用户设置一个密码: testtest-virtual-machine:~$ sudo passwd root [sudo] test 的密码: 新的密码: 无效的密码: 密码是一个回文…

深度学习基础知识-损失函数

目录 1. 均方误差(Mean Squared Error, MSE) 2. 平均绝对误差(Mean Absolute Error, MAE) 3. Huber 损失 4. 交叉熵损失(Cross-Entropy Loss) 5. KL 散度(Kullback-Leibler Divergence&…

基于vue框架的的考研信息共享平台v0eyp(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:国家政策,用户,院校政策,院校信息,考研资料,资料分类,考研论坛 开题报告内容 基于Vue框架的考研信息共享平台开题报告 一、研究背景与意义 随着考研人数的逐年增长,考研学生对高效、便捷、个性化的信息获取需求愈发强烈。…

区别:矩阵合同和矩阵酉相似

矩阵的合同和酉相似在许多方面具有相似性,但也有明显的区别。 定义 矩阵合同:给定矩阵 A 和 B ,若存在一个非奇异矩阵 P ,使得 则称矩阵 A 和 B 是合同的。合同变换常用于实对称矩阵的特征问题等。 酉相似:给定矩阵 …

海的回忆:海滨学院班级记忆录技术实现

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

半个月,练完这50个Python实战项目你就牛了!

今日精选50个Python实战项目,边做边学,让Python技能突飞猛进! 好记性不如烂笔头,实践是提升技能的王道!这70个项目涵盖广泛,难度亲民,特别适合Python新手入门与进阶。它们不仅实用性强&#xf…

贪心算法习题其三【力扣】【算法学习day.20】

前言 ###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴&am…

【Python游戏开发】石头剪刀布游戏(附完整Python完整代码)

石头剪刀布游戏:Pygame实现 结果图前言核心函数思考步骤实现原理和公式代码实现结论结果图 前言 石头剪刀布是一种经典的猜拳游戏,简单易玩但却蕴含着一定的策略性。本文将介绍如何使用Python和Pygame库开发一个简单的石头剪刀布游戏,并探讨其中的核心功能实现和思考过程。 …

Python | Leetcode Python题解之第526题优美的排列

题目&#xff1a; 题解&#xff1a; class Solution:def countArrangement(self, n: int) -> int:f [0] * (1 << n)f[0] 1for mask in range(1, 1 << n):num bin(mask).count("1")for i in range(n):if mask & (1 << i) and (num % (i …

阿里云k8s-master部署CNI网络插件遇到的问题

问题 按照网络上的部署方法 cd /opt/k8s # 下载 calico-kube-controllers配置文件&#xff0c;可能会网络超时 curl https://docs.projectcalico.org/manifests/calico.yaml -O kubectl apply -f calico.yaml 试了很多次都不行&#xff0c;k8s-master都是Not ready的状态 ca…

【数据结构与算法】第8课—数据结构之二叉树(堆)

文章目录 1. 树1. 什么是树&#xff1f;1.2 树的相关概念1.3 树的表示法 2. 二叉树2.1 特殊的二叉树2.2 二叉树的性质2.3 二叉树的存储结构 3. 实现顺序结构二叉树3.1 堆的概念3.2 堆的实现3.2.1 堆的数据结构3.2.2 堆的初始化3.2.3 堆插入数据3.2.4 删除堆顶数据3.2.5 堆的判空…

基于MATLAB人脸检测的汽车疲劳驾驶检测

课题介绍 疲劳驾驶导致汽车交通事故逐年增加&#xff0c;为了提升驾车的安全性&#xff0c;需对驾驶员疲劳状态实时监测并及时提醒. 为了提高疲劳驾驶判断效率及准确率&#xff0c;本文运用Viola-Jones 框架特征矩阵进行人脸预判断&#xff1b;预判断过程中为了减少Haar 值计算…

【p2p、分布式,区块链笔记 Torrent】WebTorrent的上传和下载界面

上传 upload.html client.seed <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>文件上传与哈希值&l…

vue3uniapp实现自定义拱形底部导航栏,解决首次闪烁问题

前言&#xff1a; 我最初在网上翻阅查找了很多方法&#xff0c;发现大家都是说在page.json中tabbar中添加&#xff1a;"custom": true,即可解决首次闪烁的问题&#xff0c;可是添加了我这边还是会闪烁&#xff0c;因此我这边改变了思路&#xff0c;使用了虚拟页面来解…

软考系统分析师知识点三一:案例知识点二

前言 今年报考了11月份的软考高级&#xff1a;系统分析师。 考试时间&#xff1a;11月9日。 倒计时&#xff1a;6天。 目标&#xff1a;优先应试&#xff0c;其次学习&#xff0c;再次实践。 复习计划第三阶段&#xff1a;总结案例知识点&#xff0c;并作为论文的框架知识…