1 C++简介
C++融合了过程性语言C、C语言基础上添加的类代表的面向对象语言、C++模板支持的泛型编程。
1.1 过程性语言-结构化编程:
设计特点:分支、自顶向下
推导出:程序 = 数据 + 算法
优点:提高了程序的清晰度、可靠性、便于维护
缺点:不利于编写大型程序
语言:C,Pascal等
目的:使问题满足语言的过程性方法
1.2 面向对象编程(OOP)
目的:使语言满足问题的要求
类:一种规范,描述了新型数据格式。类规定了可使用哪些数据来表示对象以及可以对这些数据执行哪些操作。
对象:特定数据结构,根据这种规范构造的。
设计:自下向上,从低级组织(类)到高级组织(程序)的处理过程。
优点:可重用代码、信息隐藏可以保护数据、多态可以创建多个定义、继承能够使用旧类派生新类。
1.3 C++和泛型编程
编程模式:泛型编程
目标:重用代码和抽象通用的技术简单化
侧重:独立于特定数据类型。OOP强调的是数据。
功能:提供了执行常见任务的工具。
举例:对不同类型的数据排序时,只需要对语言进行扩展,编写一个泛型函数,并将其用于各种实际类型。
2 可移植
2.1 程序可移植的定义
决定使用不同的操作系统或者处理器运行已有的C++程序时,不修改代码和重新编译程序的情况下,程序将良好运行。
2.2 障碍
一是硬件。
二是语言上的差异。
3 编译步骤
3.1 编写源代码
源代码文件的扩展名
3.2 编译源代码
运行一个程序,将源代码翻译为主机使用的内部语言-机器语言。翻译后的程序的文件时程序的目标代码。
3.2.1 UNIX编译和链接
编译:CC spiffy.C
得到:目标文件spiffy.o
链接得到:可执行文件a.out,删除目标文件(多个源文件时,不删除目标文件)
3.2.2 Linux
编译g++ spiffy.cxx
3.2.3 Windows
编译:g++ spiffy.cpp
可执行文件:a.exe
3.3 链接目标代码和其他代码
目标代码是常用的库的函数。其他代码是指标准的启动代码、使用的函数的目标代码等。包含可执行代码。
编程步骤