普通高等教育"十三五"规划教材:C++程序设计.pdf

普通高等教育
 

书籍描述

内容简介
在程序设计方法方面,C++既支持传统的面向过程的程序设计方法,也支持新的面向对象的程序设计方法。因为C++是一种混合语言,所以就使得它保持了与C语言的兼容,C程序员仅需学习C++语言的特征,就可很快地运用C++类编写程序。
全书共分8章。第l章为C++初步知识;第2章是类与对象;第3章是继承和多态;第4章介绍特殊成员函数;第5章介绍运算符重载;第6章是I/O流;第7章是模板;第8章介绍了异常处理。各章均附有与内容相对应的习题。
本书概念清楚,重点突出,使学生能对使用C++进行面向对象编程有一个完整的整体认识,并初步掌握实用程序的编制方法及大程序的设计方法,为课程设计打下基础。
可作为计算机及相关专业学生的教材,同时也适合作为社会上各种培训班的教材,并可供广大计算机工作者自学之用。

编辑推荐
《普通高等教育"十三五"规划教材:C++程序设计》可作为计算机及相关专业学生的教材,同时也适合作为社会上各种培训班的教材,并可供广大计算机工作者自学之用。在程序设计方法方面,C++既支持传统的面向过程的程序设计方法,也支持新的面向对象的程序设计方法。因为C++是一种混合语言,所以就使得它保持了与C语言的兼容,C程序员仅需学习C++语言的特征,就可很快地运用C++类编写程序。

作者简介

目录
第1章C++初步知识/1
1.1C++语言的起源和特点/2
1.2什么是面向对象/2
1.3C++对面向对象程序设计的支持/3
1.4C++语言与C语言的关系/4
1.4.1C++语言与C语言的主要区别/4
1.4.2C++语言与C语言的细小区别/5
1.5输入/输出的认识/6
1.5.1I/O的书写格式/6
1.5.2控制符的使用/8
1.6堆内存分配(动态数组与指针)/12
1.6.1堆内存/12
1.6.2new和delete/14
1.7const指针/15
习题1/17
第2章类和对象/21
2.1定义类/21
2.2使用类和对象/23
2.3内联的成员函数/28
2.4成员函数的重载及其缺省参数/29
2.5this指针/30
2.6结构和联合/31
2.7有关类的其他知识/32
2.7.1类作用域/32
2.7.2空类/34
2.7.3类对象的性质及存取/34
2.7.4嵌套类/35
2.7.5类的实例化/35
2.8构造函数与析构函数/36
2.8.1构造函数/36
2.8.2析构函数/39
2.8.3构造函数类型转换/43
2.8.4对象的初始化/44
2.8.5对象赋值/47
2.8.6对象成员/49
2.9小结/52
习题2/52
第3章继承和多态/58
3.1类的继承/58
3.2单一继承/59
3.3多重继承/60
3.4多态性和虚函数/62
3.4.1多态性/62
3.4.2虚函数/65
3.4.3虚函数的多态性/74
3.4.4虚析构函数/75
3.5类的应用示例/77
3.6小结/80
习题3/81
第4章特殊成员函数/86
4.1静态成员/86
4.2友元函数/89
4.3const对象和volatile对象/92
4.4转换函数/95
4.5指向类成员的指针/97
4.6数组与类/100
4.7小结/102
习题4/103
第5章运算符重载/106
5.1运算符重载/106
5.2如何重载运算符/108
5.3值返回与引用返回/110
5.4运算符作成员函数/112
5.5重载增量运算符/115
5.6转换运算符/117
5.7赋值运算符/119
5.8小结/122
习题5/122
第6章I/O流/123
6.1I/O标准流类/123
6.2文件流类/124
6.3串流类/126
6.4控制符/127
6.5使用I/O成员函数/130
6.6小结/133
习题6/133
第7章模板/135
7.1模板的概念/135
7.2函数模板/136
7.3重载模板函数/138
7.4类模板的定义/138
7.5使用类模板/141
7.6小结/142
习题7/142
第8章异常处理/144
8.1异常的概念/144
8.2异常的实现/145
8.3异常的规则/147
8.4异常处理机制/149
8.5使用异常的方法/152
8.6小结/153
习题8/154
参考文献/155

序言
C++语言是为了适应20世纪90年代开发和维护复杂的应用软件的需要而研制的。它的目标是为程序员的程序开发提供优良的程序设计环境,以便能产生模块化程度高、重用性和可维护性好的程序。同时,C++语言非常强调代码的有效性和紧凑性,它是程序员的语言,允许程序员决定如何实现特定的操作。因此,C++语言已经在各个领域得到了广泛应用,尤其适用于中型和大型的程序开发项目。许多事实已经证明,C++应用于C语言曾经使用过的所有场合,其效果比C语言要好得多,从开发时间、开发费用到形成软件的可重用性、可扩充性、可维护性和可靠性等方面,都显示出C++的优越性。在程序设计方法方面,C++既支持传统的面向过程的程序设计方法,也支持新的面向对象的程序设计方法,因此,C++是一种混合语言。由于C++的这种特性,就使得C++保持与C语言兼容,从而使许多C语言代码不经修改就可以为C++所用,用C语言编写的众多的库函数和实用软件也可以用于C++中,从而方便了C语言用户向C++的过渡。不过,用C++编写的程序的可读性更好,代码结构更为合理,可以直接在程序中映射问题空间的结构。
本书的重点是强调面向对象的程序设计方法,涉及少量C语言的知识,所以也可以作为直接学习C++的教材。第1章是C++初步知识,重点是介绍面向对象的基本概念,并从C++的观点出发,介绍许多C语言所没有的概念。第2章是类和对象,重点是介绍面向对象的程序设计知识及定义和使用类的方法。第3章是继承和多态,介绍单一继承、多重继承和虚基类,C++的多态性、虚函数、虚函数的多态性及虚析构函数。第4章是特殊成员函数,介绍各种常用成员函数的特征。第5章是运算符重载,介绍类运算符、友元运算符、重载。第6章是I/O流,介绍流类库及流应用。第7章是模板,模板是将来的发展趋势,所以本书也介绍了模板的基本概念,简要介绍函数模板、类模板、模板与继承的关系。第8章是异常处理,介绍了流的错误和处理。
本书的对象是计算机及相关专业的学生,注重培养独立解决问题的能力,概念清楚,重点突出,使学生能对使用C++编程有一个完整的认识,并初步掌握实用程序的编制方法及大程序的设计方法,为课程设计打下基础。
各章除了附有精心挑选的按题型分类的习题之外,还给出了多选题及编程题,以便于概念的理解和编程能力的训练。
本书第2、3、5、8章由刘丽华老师编写,第1、4、7章由刘宏妮老师编写,第6章由关蕊老师编写,最后由刘丽华老师统稿。
由于水平有限,不妥之处在所难免,希望同行及读者指正。

编 者
2015年5月于本溪

文摘
版权页:



插图:



(7)在缺省情况下,C++编译器为类自动生成的成员有( )。
(A)构造函数 (B)析构函数
(C)赋值操作 (D)拷贝初始化构造函数
(8)下列说法正确的是( )。
(A)main()函数内声明的局部对象的构造函数在对象声明时自动调用
(B)main()函数内声明的局部对象的析构函数在main()函数结束时自动调用
(C)全局对象和静态对象的构造函数在main()函数执行之前被调用
(D)全局对象和静态对象的析构函数在main()函数结束之后被调用
(9)下列关于new运算符的说法中正确的是( )。
(A)可以使用new来动态创建对象和对象数组
(B)使用new动态创建对象数组时必须指定初始值
(C)使用new动态创建对象数组时要调用对象的构造函数
(D)使用new动态创建的对象数组可以使用delete —次性删除
(10)下列关于delete运算符的说法中正确的是( )。
(A) delete必须使用new返回的指针
(B)对一个使用new返回的指针可以进行多次delete
(C)使用delete删除动态对象时一定会调用该对象的析构函数问答题
(1)类和结构有何区别?
(2)公有函数如何保护私有数据?
(3)类与对象有什么关系?
(4)类定义的一般形式是什么?其成员有哪几种访问权限?
(5)如何由外部访问对象内部的私有数据?
(6)如何使成员函数成为内联函数?
(7)什么是this指针?它的主要作用是什么?
编程题
(1)定义一个类表示公路上的车辆,它存放一辆车有几个轮子和一辆车能载几个乘客的信息。
(2)设计一个类,体现其封装性。
(3)使用内联函数设计一个类,用来表示直角坐标系中的坐标。
(4)设计一个类,使它具有一个计算两个数之和的成员函数,并使用一个测试程序验证程序。
(5)设计一个类,把厘米为单位表示的身高作为输入并返回以米为单位表示的身高。
(6)设计一个程序,能显式地说明何时调用构造函数。
(7)设计一个程序,能显式地说明何时调用析构函数。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多