C++简介( C++ Primer Plus)

C++历史:

        1980年,贝尔实验室的 Bjarne Stroustrup (本贾尼.斯特劳斯) 开始对C进行改进和扩充。

        1983年正式命名为C++。

支持3钟不同的程序设计
过程化程序设计
数据+算法
明确计算机处理数据的详细过程
用程序设计语言描述处理过程
缺点:
由于程序规模的扩大,造成程序结构的混乱,难以保证程序的正确性
面向过程(结构化程序设计):
自顶而下、分而治之的方法,将整个程序按功能划分为几个可独立编程的子过程模块,每一子模块
完成相应的子任务,主过程通过调用各子模块完成全部处理工作。
规定程序结构只有3种:顺序,分支和循环
优点:
性能比面向对象高,因为类调用时需要实例化,开销比较大,
比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:
没有面向对象易维护、易复用、易扩展
面向对象程序设计(Obiect-Oriented Programming:简称OOP):
以对象为基础,以消息或时间来驱动对象执行处理的技术。
将数据和对数据的操作封装在一起,抽象为类,采用数据抽象和信息隐藏,类之间互相交互,共同构成大型的面向对象系统。
代码重用
优点:
易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护
缺点:
性能比面向过程低
泛型程序设计
独立于特定类型的编程
用途
提供执行常见任务的通用工具
包括泛型的函数和泛型的类
类(Class):
具有相似属性和行为的一组对象。属性和操作的集合。
类的实例是对象。
对象(Obiect):
系统中描述客观事物的实体。
面向对象的四个基本特征:
封装(Encapsulation):
将数据和操作封装成一个独立个体,对外隐藏实现细节。实现信息隐藏。
类是面向对象系统中最基本的封装单元。
继承(Inheritance):
对现实世界的模拟。允许在已有类的基础上通过增加新特性而派生出新的类。
原有的类称为基类(base class),而新建立的类成为派生类(derived class)。
 
多态性(Polymoephism):
统一函数名对应多个具有相似功能的不同函数。
相同的调用放肆,不同对象收到相同的消息后产生不同的行为。
两种形式的多态:静态和动态多态。
抽象:
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。
抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。
抽象包括两个方面,一是过程抽象,二是数据抽象。
C++在C语言的基础上新增了许多特性,其中包括:
类和对象
继承
多态、虚函数和RTTI(运行阶段类型识别)
函数重载
引用变量
泛型(对立于类型的)编程,这种技术是由模板和标准库(STL)提供的
处理错误条件的异常机制
管理函数、类和变量名的名称空间
书籍:
2.C++ Primer Plus
3.C++ Primer 工具书
4.C++ Program Language 收藏,高级特性
5.C++ 对象模型 虚函数,虚函数模型
6.Effect C++ 小技巧
7.More effective C++

你可能感兴趣的:(C++,c++)