c++学习笔记(一)
C++的三大法宝
1. 继承了C语言的高效、简洁、快速和可移植的传统
2. 面向对象的特性可以应付复杂度不断提高的现代编程任务
3. 模块特性带来了对泛型编程的支持
C++的面向对象编程
与强调算法的面向过程编程不同, 面向对象编程(OOP)强调的是数据,其理念是设计出一种与问题本质特性相对应的数据结构。
在C++中,类是一种规范,它描述了某种新型的数据格式,通常,类规定了可使用哪些数据来表示对象的属性以及可以对这些属性执行哪些操作(方法),而我们可以通过类的定义来创建程序需要的对象。
OOP程序第一步也是最重要的一步就是设计类,首先我们要明确程序需要处理哪些对象,然后确定要执行的操作,最后才是代码实现。最终我们通过一个个类的实现与运用从而构建出我们需要的程序,这种从低级组织到高级组织的处理过程叫做自下而上的编程。
合格的程序员都知道面向对象编程的三大特性:封装、继承、多态,而OOP的优势和这三大特性息息相关,首先OOP有助于创建可重用的代码,避免重复造*,然后信息隐藏可以保护数据,使其免受不适当的访问,多态可以为运算符和函数创建多个定义,通过编程上下文来确定使用哪个定义,而继承可以使用旧类来派生出新的类。
C++与泛型编程
泛型编程(generic programming)是C++支持的另外一种编程模式,那么泛型编程是什么意思呢?和面相对象编程又有什么区别?要了解泛型编程首先需要理解泛型是什么意思,故名思意泛型我们可以理解为广泛的类型,不是像字符、整数、浮点数等单一的类型。有了这些认知我们再来看泛型编程就好理解了,泛型编程需要对语言进行拓展,以便可以只编写一个泛型(不是特定类型)函数,并将其用于各种实际类型,C++通过模板来提供这种机制。它和OOP的区别是:OOP强调的是编程的数据方面,而泛型编程强调的是独立与特定数据类型。
C++程序创建步骤
如果你很熟悉C语言的话,看到上面的图肯定很熟悉。C++程序创建并运行的过程和C语言基本上一致,主要步骤如下:
- 使用文本编辑器或者IDE编写源代码
- 使用C++编译器(g++、clang等)编译源代码,生成目标代码,这个目标代码其实就是计算机可以理解的机器语言
- 将目标代码与其他代码链接起来,比如一些C++的类库以及一些标准的启动代码,从而生成可执行代码
上一篇: 学习python的第二天