第一章 预备知识(可略)
1.1 C++简介
C++融合了三种不同的编程方式:C语言代表的过程性语言、C++在C语言基础上添加的类代表的面向对象语言、C++模板支持的泛型编程。
1.2 C语言编程原理
计算机语言要处理两个概念——数据和算法。数据是程序设计和处理的信息,而算法是程序使用的方法。
结构化编程:结构化编程将分支(决定接下来应执行哪个指令)限制为一小组行为良好的结构。C语言的词汇表就包含了这些结构(for循环、while循环、do while循环和if else语句)。
自顶向下的设计:在C语言中,其理念是将大型程序分解成小型的、便于管理的任务。
1.3 面向对象编程
自上向下的编程:从低级组织(如类)到高级组织(如程序)的处理过程。
与C语言的不同之处(更为便利之处):
(1)OOP(面向对象)编程将数据和方法合并为类定义(OOP有助于创建可重用的代码,这将减少大量的工作。信息隐藏可以保护数据,是其免遭不适当访问)
(2)多态能够为运算符和函数建立多个定义,通过编程上下文来确定使用哪个定义。
(3)继承能够使用旧类派生出新类。
(4)OOP语言使程序员在编程中能够轻松地使用已有的类。
C++真正的优点之一是:可以方便地重用和修改现有的、经过仔细测试的代码。
1.4 可移植性
在使用新平台设计的C++编译器对程序重新编译时,如果在不修改代码的情况下,重新编译程序后,程序将运行良好,则该程序是可移植的。
在可移植方面存在两个障碍:
1、硬件特定的程序是不可移植的。
2、语言上的差异,需要一个准确的C++标准。
1.5 编译问题
如果程序违反了语言规则,编译器将会生成错误信息,指出存在问题的行。遗憾的是,如果不熟悉语言,将难以理解这些信息的含义。有时,真正的问题可能在标识行之前;有时,一个错误可能引发一连串的错误消息。
提示:改正错误时,应首先改正第一个错误。如果在标识为有错误的那一行上找不到错误,请查看前一行。