『壹』 求C++ 网络编程最好的书籍 谢谢了
学习编程基础也很重要的,路要一步一步地走。不要老是想到看一本书就成为高手。我给你推荐一些书吧,你可以选一些看。其中很多都是经典之作。C++是以C为基础的,所以你最好看一下C语言,网络方面,《计算机网络》和《TCP/IP详解》是必看的。望采纳。
1、算法
计算机程序设计艺术-------Donald.E.Knuth----------算法“倚天屠龙”双剑
算法导论-----------------Thomas H. Cormen--------算法“倚天屠龙”双剑
离散数学及其应用----------Kenneth H.Rosen
具体数学—计算机科学基础--------Donald.E.Knuth
2、数据结构
数据结构 C++
数据结构算法与应用
3、C语言
C程序设计语言(第2版·新版)---C语言“倚天屠龙双剑”---Brian W.Kernighan“C语言之父”
C Primer Plus中文版(第五版)--------C语言“倚天屠龙双剑”---Stephen Prata
C程序设计(第三版)---------------------------谭浩强
C语言大全(第四版)---------------------------HERBERT SCHILDT
C语言接口与实现:创建可重用软件的技术-------------DAVID R.HANSON
C语言参考手册(原书第5版)--------------------------Samuel P.Harbison
C程序设计教程---------------------------------H.M.Deitel/P.J.Deitel
C陷阱与缺陷-----------------------------------Andrew Koenig
5、C++
C++程序设计语言(特别版)---c++八大金刚----Bjarne Stroustrup“C++之父”
C++ Primer (第3版)中文版----c++八大金刚---Stanley B.Lippman
C++ Primer (第4版)中文版----c++八大金刚---Stanley B.Lippman
C++标准程序库—自修教程与参考手册--c++八大金刚--Nicolai M.Josuttis
C++语言的设计和演化-----c++八大金刚----Bjarne Stroustrup“C++之父”
深度探索C++对象模型---c++八大金刚----Stanley B.Lippman
Essential C++中文版---c++八大金刚---Stanley B.Lippman
Effective C++中文版 2nd Edition-----c++八大金刚------Scott Meyers
More Effective C++中文版----c++八大金刚------Scott Meyers
C++编程思想(第2版) 第1卷:标准C++导引--------Bruce Eckel
C++编程思想(第2版)第2卷:实用编程技术 --------Bruce Eckel
C++程序设计--------------------------谭浩强
C++ 程序设计教程(第2版)--------------钱能
C++ Primer Plus(第五版)中文版---Stephen Prata
6、操作系统
深入理解计算机系统(修订版)-------RANDAL E.BRYANT
计算机操作系统(第六版)
7、编译原理
跟我一起写makefile
《编译原理技术和工具》------- Alfred ------- 龙书
《现代编译原理-C语言描述》 ----------- Andrew W. Appel ----------- 虎书
《高级编译器设计与实现》 ----------- Steven S.Muchnick ----------- 鲸书
8、网络
计算机网络第四版中文版-----------Andrew S.Tanenbaum -------网络编程三剑客
TCP/IP详解3卷本--------------------Richard Stevens----网络编程三剑客
UNIX网络编程2卷本--------------------Richard Stevens----网络编程三剑客
用TCP/IP进行网际互联-----------Douglas E. Comer
高级TCP/IP编程-------------------Jon C. Snader
C++网络编程-----------------------Douglas Schmidt
UNIX环境高级编程(第2版)--------------------Richard Stevens
9、Linux
Linux内核设计与实现
Linux内核完全注释
LINUX内核分析及编程
『贰』 C++面向对象程序设计的图书一
书名:C++面向对象程序设计
丛 书 名:21世纪高等学校计算机规划教材——精品系列
标准书号:ISBN 978-7-115-22780-5
作者:陈维兴 陈昕 编著
译者:--
开本:16 开
印张:19.75
字数:521 千字
页数:309 页
装帧:平装
版次:第1版第1次
初版时间:2010年10月
本 印 次:2010年10月
首 印 数:-- 册
定价:33.00 元 本书介绍了C++面向对象程序设计的基本知识和编程方法,以及C++面向对象的基本特征。针对初学者的特点, 本书力求通过大量实例、习题和上机实验题,以通俗易懂的语言讲解复杂的概念和方法,使读者能深刻理解和领会面向对象程序设计的特点和风格,掌握其方法和要领,以期帮助读者尽快地迈入面向对象程序设计的大门。
本书以应用为目的,大力加强实践环节,注重培养应用能力,适合作为高等院校各专业学生学习C++程序设计课程的教材,也可作为C++语言自学者的参考用书。 第1章面向对象方法概述1
1.1什么是面向过程程序设计方法1
1.1.1面向过程程序设计方法概述1
1.1.2面向过程程序设计方法的局限性3
1.2什么是面向对象程序设计方法4
1.2.1面向对象程序设计方法的基本概念4
1.2.2面向对象程序设计方法的基本特征7
1.2.3面向对象程序设计方法的主要优点10
1.3面向对象程序设计的语言11
1.3.1面向对象程序设计语言的发展概况11
1.3.2几种典型的面向对象程序设计语言12
习题12
第2章C++的初步知识14
2.1C++的发展和特点14
2.1.1C++的发展14
2.1.2C++的特点15
2.2C++源程序的构成15
2.2.1一个简单的C++程序15
2.2.2C++程序的结构特性18
2.3C++程序的编辑、编译、连接和运行18
2.4C++对C的扩充19
2.4.1注释19
2.4.2C++的输入输出20
2.4.3灵活的局部变量说明23
2.4.4const修饰符23
2.4.5函数原型24
2.4.6内联函数27
2.4.7带有默认参数的函数28
2.4.8函数的重载29
2.4.9作用域运算符“∷”31
2.4.10强制类型转换32
2.4.11运算符new和delete32
2.4.12引用35
实验40
习题41
第3章类和对象46
3.1类的构成46
3.1.1从结构体到类46
3.1.2类的构成47
3.2成员函数的定义49
3.2.1普通成员函数的定义49
3.2.2内联成员函数的定义51
3.3对象的定义和使用52
3.3.1类与对象的关系52
3.3.2对象的定义52
3.3.3对象中成员的访问53
3.3.4类的作用域和类成员的访问属性55
3.4构造函数与析构函数56
3.4.1对象的初始化和构造函数56
3.4.2用成员初始化表对数据成员初始化60
3.4.3析构函数61
3.4.4默认的构造函数和默认的析构函数64
3.4.5带默认参数的构造函数66
3.4.6构造函数的重载67
3.5对象的赋值与复制68
3.5.1对象赋值语句68
3.5.2拷贝构造函数70
3.6自引用指针this75
3.7C++的string类77
3.8应用举例79
实验80
习题82
第4章类和对象的进一步讨论87
4.1对象数组与对象指针87
4.1.1对象数组87
4.1.2对象指针90
4.2向函数传递对象92
4.2.1使用对象作为函数参数92
4.2.2使用对象裤猜指针作为函数参数93
4.2.3使用对象引用作为函数参数93
4.3静态成员94
4.3.1静态数据成员95
4.3.2静态成员函数99
4.4友元103
4.4.1友元函数103
4.4.2友元类106
4.5类的组合108
4.6共享数据的保护111
4.6.1常对象111
4.6.2常对象成员112
4.7C++的多文件程序114
4.8应用举例胡慎型116
实验孝简119
习题121
第5章继承与派生126
5.1继承与派生的基本概念126
5.1.1为什么要使用继承126
5.1.2派生类的声明128
5.1.3基类成员在派生类中的访问属性129
5.1.4派生类对基类成员的访问规则130
5.2派生类的构造函数和析构函数136
5.2.1派生类构造函数和析构函数的调用顺序136
5.2.2派生类构造函数和析构函数的构造规则137
5.3在派生类中显式访问基类成员141
5.4多重继承与虚基类142
5.4.1声明多重继承派生类的方法143
5.4.2多重继承派生类的构造函数与析构函数145
5.4.3虚基类148
5.5应用举例153
实验155
习题158
第6章多态性与虚函数163
6.1多态性概述163
6.2基类与派生类对象之间的赋值兼容关系163
6.3虚函数166
6.3.1虚函数的引入166
6.3.2虚函数的作用和定义168
6.3.3虚析构函数173
6.4纯虚函数和抽象类175
6.4.1纯虚函数175
6.4.2抽象类176
6.5应用举例177
实验179
习题180
第7章运算符重载183
7.1运算符重载概述183
7.2运算符重载函数作为类的友元函数和成员函数186
7.2.1运算符重载函数作为类的友元函数186
7.2.2运算符重载函数作为类的成员函数190
7.2.3运算符重载应该注意的几个问题193
7.3前置运算符和后置运算符的重载196
7.4重载插入运算符和提取运算符199
7.4.1重载插入运算符“<<”199
7.4.2重载提取运算符“>>”201
7.5不同类型数据间的转换203
7.5.1系统预定义类型间的转换203
7.5.2类类型与系统预定义类型间的转换204
7.6应用举例208
实验211
习题212
第8章模板216
8.1模板的概念216
8.2函数模板217
8.2.1函数模板的声明217
8.2.2函数模板的使用217
8.3类模板221
8.4应用举例227
实验229
习题230
第9章C++的输入和输出233
9.1C++流的概述233
9.1.1C++的输入/输出流233
9.1.2预定义的流对象234
9.1.3输入输出流的成员函数235
9.2预定义类型输入输出的格式控制237
9.2.1用流成员函数进行输入输出格式控制237
9.2.2使用预定义的操纵符进行输入输出格式控制241
9.2.3使用用户自定义的操纵符进行输入输出格式控制244
9.3文件的输入输出245
9.3.1文件的概述245
9.3.2 文件的打开与关闭246
9.3.3文本文件的读写249
9.3.4二进制文件的读写252
9.4应用举例257
实验259
习题261
第10章异常处理和命名空间264
10.1异常处理264
10.1.1异常处理概述264
10.1.2异常处理的方法265
10.2命名空间和头文件命名规则269
10.2.1命名空间269
10.2.2头文件命名规则271
10.3应用举例272
实验273
习题274
第11章综合设计与实现276
11.1需求分析276
11.2系统分析276
11.2.1基本信息类的属性和操作276
11.2.2各种学生类的属性和操作277
11.2.3系统管理类的操作277
11.3系统设计278
11.3.1基类和派生类的设计278
11.3.2系统管理类的设计280
11.4系统实现282
实验291
习题291
附录C++上机操作介绍292
附录AVisual C++ 6.0 的开发环境292
附录B建立和运行单文件程序295
附录C建立和运行多文件程序303
『叁』 8.1.1什么是面向对象的程序设计.ppt
面向对象
面向对象(Object Oriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
谈到面向对象,这方面的文章非常多。但是,明确地给出对象的定义或说明对象的定义的非常少——至少我现在还没有发现。其初,“面向对象”是专指在程序设计中采用封装、继承、抽象等设计方法。可是,这个定义显然不能再适合现在情况。面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,Object Oriented Analysis),面向对象的设计(OOD,Object Oriented Design)、以及我们经常说的面向对象的编程实现(OOP,Object Oriented Programming)。许多有关面向对象的文章都只是讲述在面向对象的开发中所需要注意的问题或所采用的比较好的设计方法。看这些文章只有真正懂得什么是对象,什么是面向对象,才能最大程度地对自己有所裨益。这一点,恐怕对初学者甚至是从事相关工作多年的人员也会对它们的概念模糊不清。
面向对象是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
一、传统开发方法存在问题
1.软件重用性差
重用性是指同一事物不经修改或稍加修改就可多次重复使用的性质。软件重用性是软件工程追求的目标之一。
2.软件可维护性差
软件工程强调软件的可维护性,强调文档资料的重要性,规定最终的软件产品应该由完整、一致的配置成分组成。在软件开发过程中,始终强调软件的可读性、可修改性和可测试性是软件的重要的质量指标。实践证明,用传统方法开发出来的软件,维护时其费用和成本仍然很高,其原因是可修改性差,维护困难,导致可维护性差。
3.开发出的软件不能满足用户需要
用传统的结构化方法开发大型软件系统涉及各种不同领域的知识,在开发需求模糊或需求动态变化的系统时,所开发出的软件系统往往不能真正满足用户的需要。
用结构化方法开发的软件,其稳定性、可修改性和可重用性都比较差,这是因为结构化方法的本质是功能分解,从代表目标系统整体功能的单个处理着手,自顶向下不断把复杂的处理分解为子处理,这样一层一层的分解下去,直到仅剩下若干个容易实现的子处理功能为止,然后用相应的工具来描述各个最低层的处理。因此,结构化方法是围绕实现处理功能的“过程”来构造系统的。然而,用户需求的变化大部分是针对功能的,因此,这种变化对于基于过程的设计来说是灾难性的。用这种方法设计出来的系统结构常常是不稳定的 ,用户需求的变化往往造成系统结构的较大变化,从而需要花费很大代价才能实现这种变化。
二、面向对象的基本概念
(1)对象。
对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。
(2)对象的状态和行为。
对象具有状态,一个对象用数据值来描述它的状态。
对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。
对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中
(3)类。
具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。
类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。
类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。
(4)类的结构。
在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般--具体结构关系,整体--部分结构关系。
①一般——具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。
②整体——部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。
(5)消息和方法。
对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。
类中操作的实现过程叫做方法,一个方法有方法名、参数、方法体。消息传递如图10-1所示。
二、面向对象的特征
(1)对象唯一性。
每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。
(2)分类性。
分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。
(3)继承性。
继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。
在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。
在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。
在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。
采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。
(4)多态性(多形性)
多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
多态性允许每个对象以适合自身的方式去响应共同的消息。
多态性增强了软件的灵活性和重用性。
对象,强调物体属性, 比如实现逻辑 物体A 移动到B点,
对象思想就是要你想象 你吧A 看成什么 你可以吧它看成车, 用车轮的方式(方法)让它走动, 可以看成托运(方法)的方式拉过去。
面向对象的方法 是一类物体的属性 所具备的 行为,理论上 可以参照面向过程的函数去理解
儿面向过程, 我不关心你用什么方式,看成什么 ,管你是推,是拽,只要你运过来就行 相对而言 没有针对性
楼主可以 设想一下网络游戏, 你玩的游戏 的怪物, 是分种类的, 他们都是自动的东西, 没人去手动生成, 一类怪物 有一类招数和样子, 行为属性, 这就是对象思想
『肆』 《面向对象程序设计》高手进~~~~~~~~~~~~!!
1.三种派生方式:private public protected
private:只允许在派生类的成员函数中访问基类原有的非私有成员
public:基类中的所有公有成员和保护成员在派生类中认为公有成员和保护 成员,可以通过派生类的成员函数访问基类中所有非私有成员。还可通过派生类的对象直接访问基类中的公有成员。
protected:基类中的所有公有成员和保护成员都成了保护成员,只允许派生类的成员函数及派生类的派生类中的成员函数访问基类的非私有成员,不能通过派生类的对象直接访问基类的任何成员。
2.派生类不能访问基类的私有成员。无论那种派生方式都继承了基类的所有成员,当然也包括私有成员,可以通过调用公有成员函数来访问和设置私有成员。
3.保护成员的特性:能被该类和继承类的成员函数访问。
(基类中的保护成员被公有私有方式继承后的特性看第一题)
4.派生类的构造函数执行之前必先调用基类的构造函数,建立基类的一个对象,当对象生命周期完结之时,先调用派生类的析构函数释放其资源,而后调用基类的析构函数。
5.基类中的构造函数和析构函数都不能被继承。
派生类的构造函数:派生类中的新的或者改造来的成员则需要自己的构造函数,从基类中继承来的则调用基类的构造函数。其中分隐式调用和显式调用。析构函数需派生类中重新构造。
6.多重继承:一个派生类由多个基类派生而来叫做多重继承。多重继承时,首先调用所有基类的构造函数,多个基类的构造函数的调用顺序按照定义派生类时各基类的排序确定,而后调用派生类的构造函数,析构函数为此逆序。
1.调用函数模板时产生一个实例——模板函数;类模板声明时所给出的已经确定了数据类型的类成为模板类,也就是说模板类是类模板的实例。
2.先调用模板函数,将具体的参数数据类型替换生成一个具体的函数使用。
『伍』 求java编程全套自学视频
《视频-Java程序设计》网络网盘资源免费下载链接:https://pan..com/s/15c5QsBsFV9z-TsWntNZ3Tw
视频-Java程序设计|视频《J2SE基础编程》【徐彤】|视频《编程方法学》【斯坦福大学-CS106A】Java28讲|教程-Java编程思想PDF|教程-Java编程案例PDF|源码-Java程序设计|教程-Java开发技术PDF|课件-Java程序设计PPT|教程-Java入门学习PDF|视频《Java视频教程》|资料-Java程序设计|最新java ee api帮助文档 chm格式.chm|资料-Java程序设计.rar|实验指导书 面向对象程序设计(Java)09信管.doc|实验指导书 Java面向对象程序设计及应用1_12.doc