c++ 包含过程性编程、面向对象编程、泛型编程。
面向对象编程和泛型编程都是在过程性编程的基础上添加而成。
过程性编程提供了基本类型、运算符、控制结构和语法规则。
面向对象编程在此基础上添加了类、对象及其实现。
泛型编程添加了模板。
过程性编程,强调的是算法,首先确定计算机应采取的操作,然后编写程序实现这些操作。如按菜谱做饭。
由于程序规模的扩大,过程性编程就显得杂乱无章,于是就有了结构化编程,将分支和测试结构化,比如C 语言就采取了这样的方法,结构化编程。
结构化编程解决为了程序混乱、难维护的问题,但是遇到大型程序,结构化编程就遇到了困难、挑战。
面向对象编程提供了解决这些困难的方法,强调数据而不是算法。设计数据格式满足问题的要求,比如将问题做成一个类,而不是将问题从大化小去满足结构化编程的要求。
与面向对象编程可重用代码不一样的是,面向泛型编程是泛型,并不针对特定类型。而面向对象编程的可重用代码是针对特定类型。