目录
本节内容
·过程性编程和面向对象编程
·c++是如何在 C语言的基础上添加面向对象概念的
·c++是如何在 C语言的基础上添加泛型编程概念的
·编程语言标准
·c++的难度
一 C++的难度
C++98标准新增大量特性,页数将近800页
C++11标准在C++98进行大量的补充,页数将近1350页
可见标准不断地在增加,页数到达了1350页,可见C++复杂和难度高
可谓是好语言,难度高
二 C++于泛型编程
泛型编程 (generic programming) 是 C++支持的另一种编程模式
泛型编程又是什么呢?
在我们学习C的时候,以排序为例子,这个排序需要传入特定的类型的数据,但是泛型编程不一样,它可以传入任意数据类型,这样就可以大大减少代码的陈杂,也可以提高效率- 代码复用:通过泛型,可以编写通用的代码,适用于多种类型。例如,一个排序算法可以对任意类型的数组进行排序,而不需要为每种类型编写单独的代码
- 类型安全:泛型提供了编译时的类型检查,减少了运行时的类型错误。例如,在泛型集合中,编译器会确保集合中的所有元素都是同一类型
- 减少代码冗余:避免了为每种类型编写重复的逻辑,使代码更加简洁
三 程序创建的技巧
**源代码与目标代码**
这里源代码到目标代码有好几个步骤
1 源代码.cpp 2 预处理.i 3 编译.s 4 汇编.obj
最后得到的.obj文件就是我们要的目标代码启动代码与库代码 将在第二节 基于hello world的学习 讲解
启动代码就是计算机与操作系统之间的桥梁,这个后面会详细讲到,计算机从操作系统找到启动代码,然后再进入main函数,这就是main函数为什么还有avg这些形参的原因
c++注重数据的处理 c注重算法方面
四 面向过程与面向对象
C语言就是典型的面向过程的语言
C++是面向对象的语言
我们以一个简单的例子来讲述这个东西
我们在编写一个象棋的程序的时候
C语言实现:开始游戏--黑棋先下--判断胜利--白棋下--判断胜利--...--判断胜利--结束比赛
C++实现:类1:开始界面 类2:黑棋玩家 类3:白棋玩家 类4:胜利界面 类5:结算界面
我们可以看出这个C语言的可修改性相比较C语言较低,因为就类似于一个蛋炒饭,很难把鸡蛋挑出来,C++的可修改性较高,就类似于一碗荷包蛋饭,你不吃鸡蛋可以很好的挑出来
五 C++添加类和对象
类包括数据(属性)和函数(方法)
如果开发一个可以绘制矩形的计算机
属性:长宽高,颜色,大小,形状...
方法:调整大小,调整颜色...
这个其实就是一个类,里面包括了方法和属性,你也可以类似于C的结构体里面加上了函数,里面的变量就是属性,里面的函数就是方法
类其实就是将方法和属性集合在一起的东西,对象是类实例化的东西
六 思维导图
![]()