01_C++概述
【面向过程的程序设计(POP)】
在计算机发展的初期,计算机和编程是少数聪明人的玩物,那时大多的代码组织混乱,可以说只有作者本人才看得懂,这时,一大堆问题就凸显出来了,程序质量低下,进度延误,预算严重超支。
为此,有人提出结构化程序设计方法,探讨了面向过程编程的3个基本结构,即顺序、分支、和循环。
【面向对象的程序设计(OOP)】
面向对象的程序设计与结构化的程序设计不同,由C++编写的结构化程序是由一个个函数组成的,而有c++编写的面向对象的程序是有一个个的对象组成的,对象之间通过消息而相互作用。
在结构化的程序设计中,我们要解决一个问题,就要确定这个问题能够分解为那些函数,数据能够用分解为哪些基本类型,比如int、double类型等等。也就是说它的思考模式不是面向问题结构的,是面向机器结构的。面向对象的程序设计方法解决某个问题,要确定这个问题是由哪些对象组成的,对象的相互关系是什么。
所有的东西都是对象,可以将对象想象成一种新型的变量,它保存着数据,而且还可以对自身数据进行操作。
程序是一大堆对象的组合。通过消息传递,各对象知道自己应该做些什么。如果需要让对象做些事情,则需向该对象“发送一条信息”。具体来说,可以将消息想象成为一个调用请求,她调用的是从属于目标对象的一个方法。
每个对象都有自己的存储空间。可容纳其他对象,或者说通过封装现有的对象,可以产生新型的对象。因此,尽管对象的概念非常简单,但是经过封装以后却可以在程序中达到任意的复杂程度。
每个对象都属于某个类,根据语法,每个对象都是某个“类”的一个“实例”。一个类的最重要的特征就是“能讲什么消息发送给它?”,也就是类本身有哪些操作。
【C++的语言特点】
C++语言是以c语言为基础扩充、发展起来的一门优秀的通用的程序设计语言,它保存了c语言的紧凑、灵活、搞笑和移植性好的优点,又吸收了其他程序设计语言的优秀特质。
程序员们长期采用结构化的程序设计方式,积累了很多宝贵的经验,而且结构化程序设计方法正在小型软件项目的开发设计上仍然很适用,完全将c++语言转变为一门纯粹的面向对象编程而完全抛弃c语言面向过程的程序设计方法是不恰当的。
C语言是1972年由美国贝尔实验室的D.M.Ritchie研制成功的。它不是为初学者设计的,而是为计算机专业人员设计的。大多数系统软件和许多应用软件都是用C语言编写的。
但是随着软件规模的增大,用C语言编写程序渐渐显得有些吃力了。
C++是由AT&T Bell(贝尔)实验室的Bjarne Stroustrup博士及其同事于20世纪80年代初在C语言的基础上开发成功的。C++保留了C语言原有的所有优点,增加了面向对象的机制。
C++是由C发展而来的,与C兼容。用C语言写的程序基本上可以不加修改地用于C++。从C++的名字可以看出它是C的超集。C++既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言。
【C++程序开发基本过程】
首先要建立问题的模型,根据具体的问题特点,选择过程模型还是对象模型,并将模型实现为源程序。
1. 编辑:使用文本编辑工具编写c++程序,其文件的后缀为.cpp,这样的形式叫做源代码。
2. 编译:用编译器源代码转换为主机使用的内部语言——二进制形式的及其语言,文件后缀为.obj,这种形式的程序称为目标代码。
3. 链接:将若干个目标代码和现有的二进制代码库经过链接器连接,产生可执行代码,文件后缀为.exe。
【*1.2 最简单的C++程序】例1.1 输出一行字符: “This is a C++ program.”。
程序如下:
#include<iostream> //包含头文件iostream
usingnamespace std; //使用命名空间std
int main(){
cout<<″This is a C++ program.″;
return 0;
}
解析该代码:
用main代表“主函数”的名字。每一个C++程序都必须有一个 main 函数。main前面的int的作用是声明函数的类型为整型。return行的作用是向操作系统返回一个零值。如果程序不能正常执行,则会自动向操作系统返回一个非零值,一般为-1。