描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302487975丛书名: 直击招聘
全书逻辑清晰,通俗易懂,适合参加IT企业校园招聘和笔试面试环节的同学复习,也适合C 语言编程爱好者和在校学生阅读与提高。
目 录
第1章 C 中的C.. 1
常见考点.. 1
1.1 类型系统和类型安全.. 1
1.1.1 要点归纳.. 1
1.1.2 面试真题解析.. 3
1.2 const和volatile. 4
1.2.1 要点归纳.. 4
1.2.2 面试真题解析.. 6
1.3 C 的显式类型转换.. 7
1.3.1 要点归纳.. 7
1.3.2 面试真题解析.. 9
1.4 内存管理.. 10
1.4.1 要点归纳.. 10
1.4.2 面试真题解析.. 13
1.5 C 函数设计.. 15
1.5.1 要点归纳.. 15
1.5.2 面试真题解析.. 22
1.6 断言.. 27
1.6.1 要点归纳.. 27
1.6.2 面试真题解析.. 27
1.7 自测题和参考答案.. 28
1.7.1 自测题.. 28
1.7.2 参考答案.. 31
第2章 类和对象Ⅰ 33
常见考点.. 33
2.1 类.. 33
2.1.1 要点归纳.. 33
2.1.2 面试真题解析.. 48
2.2 静态成员和静态对象.. 57
2.2.1 要点归纳.. 57
2.2.2 面试真题解析.. 60
2.3 对象指针.. 62
2.3.1 要点归纳.. 62
2.3.2 面试真题解析.. 64
2.4 对象数组.. 66
2.4.1 要点归纳.. 66
2.4.2 面试真题解析.. 69
2.5 this指针.. 70
2.5.1 要点归纳.. 70
2.5.2 面试真题解析.. 76
2.6 对象之间的复制.. 78
2.6.1 要点归纳.. 78
2.6.2 面试真题解析.. 82
2.7 自测题和参考答案.. 85
2.7.1 自测题.. 85
2.7.2 参考答案.. 91
第3章 类和对象Ⅱ. 94
常见考点.. 94
3.1 常对象和常对象成员.. 94
3.1.1 要点归纳.. 94
3.1.2 面试真题解析.. 98
3.2 C 中的explicit 101
3.2.1 要点归纳.. 101
3.2.2 面试真题解析.. 102
3.3 子对象.. 103
3.3.1 要点归纳.. 103
3.3.2 面试真题解析.. 108
3.4 嵌套类和局部类.. 109
3.4.1 要点归纳.. 109
3.4.2 面试真题解析.. 111
3.5 自测题和参考答案.. 114
3.5.1 自测题.. 114
3.5.2 参考答案.. 117
第4章 友元和运算符重载… 119
常见考点.. 119
4.1 友元函数.. 119
4.1.1 要点归纳.. 119
4.1.2 面试真题解析.. 124
4.2 友元类.. 126
4.2.1 要点归纳.. 126
4.2.2 面试真题解析.. 127
4.3 运算符重载概述.. 128
4.3.1 要点归纳.. 128
4.3.2 面试真题解析.. 130
4.4 运算符重载设计.. 132
4.4.1 要点归纳.. 132
4.4.2 面试真题解析.. 146
4.5 两个类对象之间的转换.. 154
4.5.1 要点归纳.. 154
4.5.2 面试真题解析.. 156
4.6 自测题和参考答案.. 157
4.6.1 自测题.. 157
4.6.2 参考答案.. 162
第5章 模板和异常处理… 166
常见考点.. 166
5.1 函数模板.. 166
5.1.1 要点归纳.. 166
5.1.2 面试真题解析.. 172
5.2 类模板.. 175
5.2.1 要点归纳.. 175
5.2.2 面试真题解析.. 182
5.3 异常处理.. 183
5.3.1 要点归纳.. 183
5.3.2 面试真题解析.. 188
5.4 自测题和参考答案.. 190
5.4.1 自测题.. 190
5.4.2 参考答案.. 192
第6章 继承和派生… 193
常见考点.. 193
6.1 继承和派生基础.. 193
6.1.1 要点归纳.. 193
6.1.2 面试真题解析.. 204
6.2 基类对象和派生类对象的使用关系.. 217
6.2.1 要点归纳.. 217
6.2.2 面试真题解析.. 220
6.3 虚继承.. 227
6.3.1 要点归纳.. 227
6.3.2 面试真题解析.. 238
6.4 自测题和参考答案.. 242
6.4.1 自测题.. 242
6.4.2 参考答案.. 248
第7章 虚函数和多态性… 251
常见考点.. 251
7.1 虚函数.. 251
7.1.1 要点归纳.. 251
7.1.2 面试真题解析.. 266
7.2 纯虚函数和抽象类.. 289
7.2.1 要点归纳.. 289
7.2.2 面试真题解析.. 291
7.3 自测题和参考答案.. 294
7.3.1 自测题.. 294
7.3.2 参考答案.. 300
前 言
C 语言是C语言的扩展,是一种基础的面向对象的编程语言,提供了类、模板、函数重载和运算符重载设计等功能,充分支持抽象、继承和多态等面向对象程序设计的特征,方便大型软件的开发。
相比C语言,C 语言中的概念众多,掌握难点更高。实际上C 对象在内存中的存储组织结构是核心,只要抓住了这个纲,对其他概念的理解就会迎刃而解。本书就是以它提纲挈领,系统归纳C 语言常见的知识要点,汇总国内外众多著名IT企业近几年的C 面试笔试真题并予以解析,透彻剖析了难点和疑点。
本书不是面向初学者,而是以知识点提纲挈领,章节之间难免会出现要点重复的现象,敬请读者谅解。书中侧重C 语言的语法,相关算法设计在本丛书的其他书中讨论。另外,为了方便阅读,对于部分企业面试笔试中的文字和代码在格式上做了调整。书中程序在VC 6.0环境中调试通过(个别程序在Dev C 中调试)。
在编写过程中参考了众多网站和博客,对此无法一一列出,编者对其作者表示衷心感谢。
限于编者水平,书中难免存在遗漏,恳请读者批评指正。
编 者
2017年10月
* 函数模板的设计方法。* 函数模板的实例化过程。* 类模板的设计方法。* 类模板的实例化过程。* 异常处理语句try…catch的执行过程。* 异常处理中对象的构造与析构过程。5.1 函 数 模 板5.1.1 要点归纳 1.定义函数模板 值(value)和类型(type)是数据的两个主要特征,在模板中数据的值和类型都被参数化了。C 提供了两种模板机制,即函数模板和类模板。模板中的类型参数也称为类属参数。模板的声明或定义只能在全局或类范围内进行,不能在局部范围(如函数)内进行。使用模板的目的就是为了能够让程序员编写与类型无关的代码。 在定义了一个函数模板后,当编译系统发现有一个对应的函数调用时将根据实参中的类型来确认是否匹配函数模板中对应的类型形参,然后生成一个重载函数。该重载函数的定义体与函数模板的函数定义体相同,它称为模板函数(template function)。 模板、模板类、对象和模板函数之间的关系如图5.1所示。 函数模板与模板函数的区别是函数模板是一个模板,其中用到通用类型参数,不能直接执行;模板函数是一个具体的函数,它由编译系统在遇到具体函数调用时生成,具有程序代码,可以执行。
图5.1 模板、模板类、对象和模板函数之间的关系 定义函数模板的一般格式如下: template //类型参数声明 返回类型 函数名(形参表) //函数模板 { 函数体; } 例如,以下代码定义了一个绝对值的函数模板: template //注意末尾不要加分号 T abs(T x) { if(x<0) return -x; return x; } ? 有关定义函数模板的说明如下: ? “类型形参表”可以包含基本数据类型,也可以包含类类型。类型形参需要加前缀class或typename表示“跟随类型形参”。如果类型形参多于一个,则每个类型形参都要使用class或typename。这里class和typename关键字没有任何区别,C 早期对模板的支持并不严谨,没有引入新的关键字,后来又引入了新关键字typename,专门用来定义类型 参数。 ? “类型形参表”中的参数必须是唯一的,而且应该在函数体中至少出现一次。例如template是错误的,其中类型参数名称重复。 ? 在template语句与函数模板声明之间不允许有其他语句。例如下面的定义是错 误的: template int i; //错误 T min(T x,T y) { ? 函数体;
评论
还没有评论。