该文章内容整理自《C++ Primer Plus(第6版)》、《Effective C++(第三版)》、以及网上各大博客
C++的名称来自C的自增运算符++,它是C的超集,任何有效的C程序都是有效的C++程序。C++向下由C提供了低级硬件访问,向上由OOP提供了高级抽象。一开始C++只是C加上一些面向对象特性,但当这种语言逐渐成熟,它开始接受各种不同的观念、特性和编程战略。如今C++已成为一种多重范型编程语言,一种同时支持过程形式、面向对象形式、函数形式、泛型形式、元编程形式的语言。C++由C、Object-Oriented C++、Template C++(泛型编程)、STL四种次语言组成,不同次语言可能会有不同的编程准则
面向过程编程(OPP),是以过程为中心的编程思想。通过画流程图等方法梳理出整个程序的步骤流程,围绕要解决的任务来设计,然后用代码把整个过程依次实现
面向对象编程(OOP),是围绕着问题域中的对象来设计,首先从问题域中抽取解决问题有意义的组件进行关注,然后对这些组件进行数据、职责划分,最后再利用各种组件进行组合,实现问题域
C++三大特性:
- 封装:是指将抽象得到的数据和行为相结合,形成一个有机的整体。也就是将数据与操作数据的源代码进行有机的结合,形成类。其中数据和函数都是类的成员,目的在于将对象的使用者和设计者分开,以提高软件的可维护性和可修改性
- 继承:是指新类从已有类那里得到已有的特性。 类的派生指的是从已有类产生新类的过程。原有的类成为基类或父类,产生的新类称为派生类或子类,子类继承基类后,可以创建子类对象来调用基类函数,变量等。继承可以扩展已存在的代码,目的也是为了代码重用
- 多态:可以简单概括为“一个接口,多种方法”,即用的是同一个接口,但是效果各不相同。多态是OOP设计重要的特性,对客观世界直觉认识; 能够处理同一个继承体系下的异质类集合