一、面向对象编程面向对象编程
虽然结构化编程的理念提高了程序的清晰度、可靠性,并使之便于维护。
但是它在编写大型程序时,仍然面临挑战。
在C++中,类是一种规范,它描述了这种新型数据格式,对象是根据这种规范构造的特定数据结构。
OOP程序设计方法首先设计类,它们准确地表示了程序要处理的东西。类定义描述了每个类可执行的操作。从低级组织(如类)到高级组织(如程序)的处理过程叫作自下向上的编程。
OOP编程并不仅仅是将数据和方法合并为类定义。多态让您能够为运算符和函数创建多个定义,通过编程上下文来确定使用哪一定义;继承让你能够使用旧类派生出新类。
二、泛型编程
泛型编程是C++支持的另一种编程模式。它与OOP的目标相同,即使重用代码和抽象通用概念的技术更简单。不过OOP强调的是编程的数据方面,而泛型编程强调的是独立于特定数据类型。它们的侧重点不同。OOP是一个管理大型项目的工具,而泛型变成翁提供了执行常见任务的工具。
OOP强调的是编程的数据方面,而泛型编程强调的是独立于特定数据类型(不与数据类型有关)。
例如:要对不同类型·的数据进行排序,通常必须为每种类型创建一个排序函数,泛型编程需要对语言进行拓展,以便可以只编写一个泛型(即不是特定类型的)函数,并将其用于各种实际类型。
三、程序创建的技巧
1、一个C++程序是如何运行起来的?
具体步骤大概如下:
- 1、使用文本编辑器编写程序,将其保存到文件中,这个文件就是程序的源代码;
- 2、编译源代码。这意味着运行一个程序,将源代码翻译为主机使用的内部语言——机器语言。包含了翻译后的程序的文件就是程序的目标代码(obejct code);
- 3、将目标代码与其他代码链接起来。链接指的是将目标代码同使用的函数的目标代码以及一些标准的启动代码组合起来,生成程序的运行阶段版本。包含该最终产品的文件称为可执行代码。
2、创建源代码文件
3、编译和链接
(1)、Linux编译和链接
Linux系统中最常用的编译器是g++。
例如,下面的命令将生成可执行文件a.out。
g++ spiffy.cxx
有些版本可能要求链接C++库:
g++ spiffy.cxx -lg++
要编译多个源文件,只需要将它们全部放到命令行中即可:
g++ my.cxx precious.cxx
这将生成一个名为a.out的可执行文件和两个目标代码文件my.o和precious.o。如果接下来修改了其中的某个源文件代码,如 my.cxx,则可以使用my.cxx和precious.o来重新编译:
g++ my.cxx precious.o
- 参考文件:
1、 《C++ Primer Plus 第六版》—— Stephen Prata