摘自《C++程序设计语言》
程序设计范型
“如果一种语言支持某种风格的程序设计,是指它提供了一些功能,使得它能够方便地用于这种程序设计风格”
- 学习C++,不仅是学习一种语法,更是学习一种更好地设计系统的方式
- C++本身并不提供丰富地,可以完成各种功能的类
面向过程
- 关注的是处理过程——执行预期的计算所需要的算法
- 支持这种范型的语言提供了一些功能,比如函数传递参数以及函数返回结果值等
模块程序设计
- 一组相关的过程与被他们操作的数据组织在一起,被称作一个模块
- 设计程序的重点从有关过程的设计转移到对数据的组织
*【 程序设计范型】:确定需要哪些模块,将程序分为一些模块,使数据隐藏于模块之中——即数据隐藏原理- C++提供了一种机制,可以把一组函数和数据放在namespace中,对namespace的定义可以提供在另一个单独编译的模块里。
- 分别编译?????
- 异常处理
数据抽象
- 定义类型的模块:namespace
- namespace和struct、class有什么区别
- 用户定义类型
- 【程序设计范型】:确定你需要哪些类型,为每个类型提供完整的一组操作
- 多态
- 虚函数:编译器会为虚函数维护一个函数指针的列表,运行时,会调用真正类里的那个函数
面向对象的程序设计
- 继承【程序设计范型】:确定你需要哪些类,为每个类提供完整的一组操作,利用继承去明确地表示共性
通用型程序设计
- 【程序设计范型】:确定你需要哪些算法,将它们参数化,使它们能够对各种各样适当的类型和数据结构工作
- 模板:一种编译时的机制,并不引起任何额外的运行时开销
- 通用算法:迭代器?????
网友评论