前言
面向对象编程、泛型变成和传统的过程化编程。C++99/C++03 C++11。C++在C语言的基础上新增的特性:
- 类和对象
- 继承
- 多态、虚函数和RTTI(运行阶段类型识别)
- 函数重载
- 引用变量
- 泛型(独立于类型的)编程,由模板和标准模板库(STL)提供的
- 处理错误条件的异常机制
- 管理函数、类和变量名的名称空间
章节:
- 预备知识
- 开始学习C++
- 处理数据
- 复合类型
- 循环和关系表达式
- 分支语句和逻辑运算符
- 函数——C++的编程模块
- 函数探幽
- 内存模型和名称空间
- 对象和类
- 使用类
- 类和动态内存分配
- 类继承
- C++中的代码重用
- 友元、异常和其他
- string类和标准模板库
- 输入、输出和文件
- 探讨C++新标准
第1章 预备知识
- C语言和C++的发展历史和基本原理
- 过程性编程和面向对象编程
- C++是如何在C语言的基础上添加面向对象概念的
- C++是如何在C语言的基础上添加泛型编程概念的
- 编程语言标准
- 创建程序的技巧
1.1 C++简介
C++融合了3中不同的编程方式:
- C语言代表的过程性语言
- C++在C语言基础上添加的类代表的面向对象语言
- C++模板支持的泛型编程
1.2 C++简史
计算机技术发展迅速,20世纪80年代,面向对象编程(OOP)
1.2.1 C语言
20世纪70年代,贝尔实验室的Dennis Ritchie开发了C语言,用于在UNIX上的不同硬件平台用同一种高级语言。编译器将高级语言翻译成特定计算机的内部语言。
1.2.2 C语言编程原理
算法和数据,强调编程的算法方面(菜谱)。结构化编程(structured programming):组织良好的结构,自顶向下(top-down)大型程序分解为小型的任务。
1.2.3 面向对象编程
OOP强调的是数据,让语言来满足问题的要求。自下向上(bottom-up)编程,从低级组织(如类)到高级组织(如程序)。复用代码,多态,继承。
1.2.4 C++和泛型编程
泛型编程(generic programming),对语言进行扩展,只编写一个泛型函数,并将其用于各种实际类型。
1.2.5 C++的起源
诞生于20世纪80年代的贝尔实验室Bjarne Stroustrup。C++是C语言的超集,任何有效的C程序都是有效的C++程序。C++在C语言的基础上添加了OOP特性。
1.3 可移植性和标准
可移植性存在两个障碍,一是硬件,二是语言差异。ANSI(American National Standards Institute, 美国国家标准局)和ISO(国际标准化组织),制定C++标准。
- C++98表示C++98/C++2003
- C++11表示2011年的新标准
1.4 程序创建的技巧
源代码 -> 编译器 -> 目标代码 -> 链接程序(启动代码+库代码) -> 可执行代码
1.4.1 创建源代码文件
1.4.2 编译和链接
- UNIX编译和链接:CC命令。 CC xxx.C
- Linux编译和链接:g++。g++ xxx.cxx
- Windows命令行编辑器:g++…
- Windows编译器:本书创建控制台应用程序Console Application。Compile, Build, Make, Build All, Link, Execute, Run, Debug
- Macintosh上的C++:Xcode(编译器g++和clang)
IDE中有些运行后会关闭窗口,为避免可加上:
cin.get(); // add this statement
cin.get(); // and maybe this, too
return 0;
1.5 总结
略
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 cdd@ahucd.cn