第一篇:基于服务器网络
1、物品准备
20台安装windows 2000 professional的计算机,一台安装windows 2000 server的计算机。21块有RJ-45接口的网卡。传输介质选择双绞线,准备21根做好的足够长的直通双绞线。连接设备选择24口的集线器。
2、硬件安装
将网卡插入PCI插槽。将集线器放在安全、稳定的地方,取一根做好的双绞线,为了便于查找,用标签标上要了解的机器编号,把标签贴在做好的双绞线上,将双绞线的一头插入要连接的机器网卡的RJ-45插口上,另一头插入集线器的一个端口上,安装windows 2000 server的计算机要连接在集线器的第一个端口上。
3、安装网卡及驱动程序
对于非即插即用型网卡,打开控制面板→添加/删除硬件→添加/删除硬件向导→下一步。从列表中选中硬件 然后点击下一步从光驱或者从磁盘安装网卡驱动程序。对于即插即用型网卡,鼠标右击“我的电脑”,在弹出的快捷菜单中选择“属性”命令,打开“系统特性”→硬件→设备管理器,可以看到“以太网控制器”前面有一个?号,双击“以太网控制器”,打开“以太网控制器”属性窗口。单击“重新安装驱动程序”,跟随向导安装完驱动程序,重启计算机。
4、配置
㈠服务器的设置
重新启动系统后,以超级用户登录,进入后,运行“开始/程序/管理工具/配置服务器”程序
(1)活动目录的配置(Active Directory)
活动目录是管理的基础,只有配置了目录服务之后管理员才能对帐号、组进行设置和管理。在“Windows 2000配置你的服务器”窗口中,启动“Active Directory向导”并根据向导依次设置:选择“创建一个新的域目录树”→输入“新域的DNS全名”如:mdgz.edu.cn →输入“域NetBIOS名” 如: NDNX →设置“数据库和日志文件位置”,可按缺省路径设定→保持共享系统卷位置不变→选择“是,在这台计算机上安装和配置DNS” →选择“只与Windows 2000服务器相兼容的权限” →输入目录服务恢复模式的管理员密码→出现摘要信息,确认正常,那么系统将根据你的选择,花几分钟时间配置Active Directory,安装结束,重新启动则活动目录即建立完毕。
(2)域名服务器DNS的配置
单击“开始”→“管理工具”→“配置服务器”→“联网” →“DNS” →“管理DNS” →启动“DNS”管理界面。
单击“操作“菜单下的命令“连接到计算机”,选定“这台计算机”和“立即连接到指定的计算机”,然后“确定”,此进服务器机器名出现在管理窗口中。在“正向搜索区域”中右击mdgz.edu.cn时,在弹出菜单中选择“新建域”命令并输入域名 如:NDNX,然后再右击NDNX并选择“新建主机”命令出现“新建主机”对话框,依次输入主机名称和IP地址,主机名称为www.xiexiebang.com(用于文件传送)mail.mdgz.edu.cn(用于内部电子附件系统)、news.mdgz.edu.cn(用于内部新闻组)。(3)DCHP服务器的配置
若在工作站人为指定IP地址,则不用配置DCHP服务器。
若要为工作站动态分配IP地址,则必需配置。启动“管理工具”中的“DCHP”,在DCHP服务器配置界面中右击服务器名,选择“新建作用域”命令,根据向导,依次输入名称→IP地址范围(如192.168.0.100至192.168.0.200)→输入不想提供给DCHP客房端用使用的IP地址→IP地址租用期限→选择“是我想现在配置这些选项”→输入默认网关的IP地址→输入子域名和服务器名→单击“解析”按钮→单击“添加”,出现选择WINS服务器,输入服务器名称→单击“解析”按钮→选择“是,我想现在激活此作用域”即可完成配置。
㈡客户机配置
安装与配置TCP/IP协议
安装网卡驱动程序后,系统自动添加TCP/IP协议、microsoft客户端、microsoft网络文件与打印机共享,只需要对TCP/IP协议进行配置即可。打开TCP/IP协议对话框,客户机的ip地址配置为自动获取ip地址。
5、设置网络标识 为每一台计算机取不同的名字student1~student21。工作组名称为“student”。
6、设置本机共享文件
打开“我的电脑”双击“本地磁盘C:”,右击C盘上的某一文件夹,在弹出的快捷菜单中选择“共享”,在打开的属性对话框中选共享页,选中“共享该文件夹”,设定可访问的用户数目。
7、设置共享权限
在共享文件夹的属性对话框中选中“权限”按钮,设定网络中的其它计算机对该共享文件夹有何种操作权限,如完全控制、更改、读取等。
第二篇:机房(监控、服务器及网络)管理制度(精选)
机房(监控、服务器及网络)管理制度
第一章
总则
为保证机房设备与信息的安全,保障机房有个良好地运行环境和工作秩序,特制定本制度。
一、为确保机房安全,根据岗位职责设立机房管理员,负责对机房内各类设备、软件系统进行维护和管理。
二、管理员应认真、定期对机房内各类设备进行检查和维护,及时发现、报告、解决软、硬件出现的故障,保证系统的正常运行。
三、管理员须制定计算机IP地址分配表,公司网络拓扑结构图和机房设备运行记录表,给每个交换机端口编上号码,以便操作和维护。机房管理员须经常注意机房内温度、电压等参数,并做好记录;发现异常及时采取相应措施。
四、机房内服务器、网络设备、监控、UPS电源等重要设施由专人严格按照规定操作,严禁随意开关,系统管理员的操作严格按照操作规范进行,任何人不得擅自更改系统设置。
五、严格遵守保密制度,数据资料和软件必须专人负责保管,未经允许不得私自拷贝、下载和外借。
第二章 监控管理
一、认真学习监控的操作规程,维护和保养好监控设备。保持图像信息画面清晰,保证系统正常运行。
二、监控系统图像实行自动保存,图像保存时间不少于30天。
三、外来单位人员需要查看监控图像需要领导批准,填写监控信息图像查看记录表,对图像信息录制人员、调取用途等事项进行登记。
四、任何人不得擅自复制、查询或者向其他单位和个人提供、传播图像信息。
五、任何人不得擅自删除、修改监控系统的运行程序和记录。
六、任何人不得擅自改变公共安全图像信息系统的用途和摄像设备的位置。
七、任何人不得干扰、妨碍监控系统的正常运行。
八、工作人员使用计算机要及时主动设置密码。
九、严禁将监控密码告知无关人员。
十、未经相关领导批准,任何人员不得将公司的数据、软件及资料复制给其他单位或个人。
十一、未经公司许可,公司以外任何人员不得使用操作监控计算机系统及相关设备。
十二、任何人不得擅自提供、传播图像信息。
十三、对涉及公司秘密、商业秘密和员工个人隐私的图像予以保密。
第三章 网络设备的管理
一、路由器、交换机和服务器以、及通信设备是网络的关键设备,须放置计算机机房内,不得自行配置或更换,更不能挪作它用。
二、严禁易燃易爆和强磁物品及其它与机房工作无关的物品进入机房。
三、建立机房登记制度,时刻注意网络运行情况。未发生故障或故障隐患时当班人员不可对任何设备进行任何调试,对所发生的故障、处理过程和结果等做好详细登记。
四、各种帐号严格保密。不得泄露给其他无关人员。
五、网络管理人员应有较强的病毒防范意识,定期进行病毒检测,发现病毒立即处理并
通知管理部门或专职人员。
六、采用国家许可的正版防病毒软件并及时更新软件版本。
七、未经许可,任何部门和个人不得随意增加或去除网络设备,做到设备有记录。
第四章 服务器的管理
一、目的在于用友服务器和财贸通服务器的使用,包括服务器的放置、口令管理、操作管理等。
二、服务器统一放置在公司机房,禁止搬出。
三、禁止私自对服务器硬件拆装,如需升级硬件需申请得到批准后方可执行。
四、服务器口令由管理员保管;口令修改后,必需到办公室备案。
五、每天应检查备份文件的完整性,填写《服务器数据备份及检查记录》。;涉及企业秘密的备份媒体,只有授权的人员才可以访问,并保存在上锁的文件柜或其他安全储存场所。
六、管理员负责服务器操作配置,其他人员禁止操作。如需对服务器做重大操作,需提前做数据备份。
七、每月对服务器硬件做评估,保障服务器以最佳状态工作。如发现有硬件问题及时上报。
第五章 机房应急预案
为确保公司机房安全与稳定,以保证正常运行为宗旨,按照“预防为主,积极处置”的原则,本着建立一个有效处置突发事件,建立统一指挥、职责明确运转有序、反应迅速处置有力的机房安全体系的目标,特制定本预案。
一、机房突发事件应急处置方案
1、电源系统应急预案
(1)定期检查机房供电设备的运行状况和电路线缆器材情况,当发生下列突发事件时,按照以下方案进行处置:
(2)当机房发生市电供电突然停电或是电源异常时。首先应和供电局联系确认正常停电以及预计停电时间。检查不间断电源的电池可供电时间,确保设备正常运行,如遇到突然断电,应及时将不在UPS电源供电范围内的设备及时断电,预防突然来电时瞬间电流过大导致设备损坏等现象。
(3)当确定停电时间超出机房UPS承载范围后,首先确定停电的范围以及受影响的设备范围。并及时通知各部门和支公司营销部做好停电应急准备。然后通知机房电源维护人和设备的负责人到达现场,做好各设备的电源停电准备。在UPS供电电量仅剩10%之后,严格按操作手册停掉各服务器的电源,最后停核心交换机和路由器,等待电力恢复。
(4)当确定停电原因是在本身供电系统范围内,立即汇报给负责领导,并及时联系相关维护人员达到现场检修。对于恢复时间无法预计的,要通知各个部门做好准备工作。
(5)恢复供电后,严格按照操作程序逐步恢复机房设备和UPS的供电,以防瞬间电流过大造成设备损坏。
2、网络和服务器络系统应急预案
(1)发生网络故障时,首先检查机房设备情况,确定网络故障的原因。
(2)确认原因后,联系相关人员,及时处理和排除故障。
(3)当确认原因为短时间无法恢复,应该及时向负责领导汇报,然后通知各部门做好应急准备。然后及时处理故障。
(4)当人为或病毒破坏的故障发生时,具体按以下顺序进行:判断破坏的来源及性质,断开影响安全与稳定的信息网络设备,断开与破坏来源的物理网络连接,跟踪并锁定破坏的来源和其他网络用户信息,修复被破坏的信息,恢复系统。
(5)发生服务器系统故障后,应立即向相关领导汇报情况,及时组织启动备用服务器系统,由备用服务器接管相关业务应用,同时安排人员将故障服务器脱离网络,保存系统状态不变,保护原始数据。
在确认安全的情况下,重新启动故障服务系统:若重启系统成功,则检查数据丢失情况,利用备份数据恢复;若重遇到自己无法解决的故障,应立即请求技术支持,做好技术处理。
处置结束后,管理员应将处理过程记录下来,以方便日后对此问题的处理。
3、消防和防雷应急预案
(1)上班工作时间发生火警,还在机房工作的人员应及时紧急撤离,并立刻拨打119报警。在确保自身安全的情况下,应尽量使用灭火器进行灭火,减少电子设备的损坏。同时采取关闭电源总闸等措施,尽量减少可能造成的损失和破坏。
(2)非工作时间或节假日休息时间值班人员发现火情后,要立刻拨打119报警,并立刻通知相关部门和领导,做好火灾的处置工作。
(3)火情结束之后,机房相关人员应全体赶赴现场,并向公司相关部门汇报。同时立即联系相关网络公司和设备相关厂家,及时评估事故损失情况,研讨恢复网络系统正常运行的最佳解决方案。
(4)遇雷暴天气或接上级部门雷暴气象预警,应关闭所有服务器,切断电源,暂停内部计算机网络工作。雷暴天气结束后,及时开通服务器,恢复内部计算机网络工作。因雷击造成的损失,应及时进行核实、报损,并将详细情况向部门领导汇报。
4、自然灾害和盗抢应急预案
(1)发生自然灾害后,首先应该组织人员撤离现场。当确认灾害不会造成人生伤害后,在回到机房检查设备,立刻向上级领导汇报,并联系相关网络和设备厂家,积极做好灾后恢复工作,确保在最短时间内恢复机房正常运行。
(2)发生盗抢事件后,要保护好现场然后报警,并向领导和省公司汇报情况。待现场处理完毕后,要组织相关人员估计损毁情况,并联系相关网络和设备厂家,积极做好恢复工作。
第三篇:中央财经大学服务器托管协议-中央财经大学网络信息中心
中央财经大学服务器托管协议
甲方:
乙方:中央财经大学网络信息中心
中央财经大学网络信息中心(以下简称乙方)为_______(以下简称甲方)提供服务器托管服务,为明确职责,规范管理,双方签定此协议。
1.双方共同遵守《中央财经大学托管服务器管理办法》。
2.乙方为托管服务器提供良好的机房环境,确保供电、制冷和网络的正常,确保硬件本身的安全。
3.甲方拥有被托管服务器的产权和管理使用权,甲方自行管理其托管服务器的操作系统、业务系统及相关数据。甲方负责服务器上数据的完整性和保密性,对所管理的信息及数据进行备份,指定专人保管账号并定期更换密码,如因服务器升级、感染病毒、服务器硬件损坏、账号密码泄露、违规操作等引起的各种问题及产生的一切后果,由甲方承担。
4.甲方自行解决服务器上所需软件的版权(许可/使用权),对软件版权所引发的纠纷负全部责任。
5.甲方所发布的信息必须符合国家的有关法律、法规,以及学校和上级管理部门制定的相关规定。甲方对所发布的信息负政治责任、法律责任、经济责任以及其它责任。
6.被托管服务器不得运行申请内容之外的服务,否则乙方有权暂停该服务器运行,经整改后方可恢复运行。
7.被托管服务器因设备故障、服务器中毒、受到网络攻击等危害到其他系统稳定和安全或影响到校园网正常运行等紧急情况下,乙方可立即暂停托管服务器的运行并通知甲方进行相应的处理。
8.托管服务器在托管期间如出现硬件或软件故障,硬件的维修、更新以及软件故障的排查处置,由甲方完全负责,乙方提供必要的便利和配合。
9.因不可抗力、外部供电故障、ISP问题、校园网其他故障而造成的损失,乙方不承担责任。
甲方:
(盖章)
乙方:网络信息中心(盖章)
甲方负责人:
(签字)
乙方负责人:
(签字)
****年**月**日
****年**月**日
第四篇:审计局服务器防火墙网络外包合同 - 副本专题
服务器防火墙外包服务同书
甲方(需方):故道平安审计局
乙方(供方):故道平安城关玉娥电子经营部
甲乙双方经过友好协商,依据《中华人民共和国合同法》,双方同意签订以下合同条款,以便双方共同遵守,履行合同。
一、双方责任 甲方责任:
1、提供必要的硬件资源。
2对于上门服务应提供必要的工作环境。
3、提供必要的IT管理权限。1)帐号管理权限 2)数据库管理权限 3)数据备份权限 4)防火墙管理权限 乙方责任:
乙方通过不断的技术积累,为甲方提供稳定、安全、与时俱进的网络环境,让甲方网络始终运行良好、稳定、高效。安全。
1、原则上对于常规的帐号管理、服务器维护、网络设备维护、数据备份、防火墙规则制定、网站维护、内外部邮件系统维护都通过远程管理的方式完成;对于硬件故障和其他必须在现场解决的问题都通过上门服务的方式完成。
2、保障客户网络的连通性。
3、保障服务器及所有服务的有效性安全性
4、保障客户机系统和常用办公软件可用性。
5、建立严格的防火墙,执行入侵检测,病毒查杀。
6、对于乙方提供的OA、ERP、CRM、WORKFLOW等应用系统提供必要的客户培训。
7、提供 7×8小时电话支持,7×8 小时在线支持。
8、按照附件2中的保密协议,严格保障客户资料和数据的安全。
三、违约责任
1、如因甲方原因(如未按要求提供相应的服务器硬件平台,付款不及时等)造成用户争议,由甲方负责。
2、如因乙方原因造成服务中断或不及时,由乙方负责。
四、免责条件
1、因电信部门检修等原因造成服务中断的,双方互不承担责任。
2、因国家政策法规调整、自然灾害等不可抗力造成的服务中断,双方互不承担责任。
五、维护内容
1、甲方就单位网络服务器、防火墙、交换机、路由器、机柜、线路等交付乙方进行维护。
维护要求:甲方设备出现故障后在1小时到达甲方单位,进行维护,须提供备件,保障甲方设备正常运行。
六、费用结算
甲方向乙方支付维护费
元。付款方式:转账。合同签订后甲方向乙方支付合同总金额的100%即
元。(¥00元)。
五、服务地点:故道平安审计局
本合同一式两份,甲乙双方各执一份。本合同自签订之日起生效。其他未尽事宜,由双方友好协商解决,并参照《中华人民共和国合同法》有关条款执行。
甲方(印章)
乙方(印章)甲方(签字)
乙方(签字)
时间:
年
月 日
时间:
****年**月**日
第五篇:C++ 面试题(服务器编程、网络编程方便)
C++ 面试题-专注于服务器编程、网络编程 C++ 面试题
1.类成员指针
Class test
{
Public:
Int fun(int)const;
Int fun(int);
Static int fun(int);
Int iTemp;
}
1.1非静态成员函数指针定义:
int(Test::*pFun)(int)= &Test::fun;
int(Test::*pFunConst)(int)const = &Test::fun;
使用:
Test a;
const Test b;
(a.*pFun)(2)或(a.*pFunConst)(2);
(b.*pFunConst)(2);
不能用(b.*pFun)(2);
1.2非静态成员变量int Test::*pInt = &Test::iTemp;
(a.*pInt)= 3;
1.3静态成员函数指针int(*pFun)()= &Test::fun;
或 int(*pFun)()= Test::fun;都正确;(注:定义无域操作符)使用:
(*pFun)()或 pFun()都正确;
2.非成员函数指针和静态成员函数一致。
3.非成员函数和静态成员函数上不允许修饰符。例如 void fun()const;void fun()volatile;但非静态 成员函数允许const、volatile等修饰符。
4.变量修饰符
auto:指定数据存储在栈中。局部变量默认为auto。该修饰符不能用于成员变量和全局变量。
static: 局部变量表示存储在静态空间,全局变量表示不允许外部引用。
volatile:表示该变量可能随时改变,不要做任何假设优化。
mutale: 去除成员变量的const属性。
extern:全局变量默认为extern属性,表示可被外部引用,此时与static相对。
extern int a =2;表示定义一个可被外部引用的变量。
extern int a;表示引用外部变量。
5.数据类型隐式转换
短数据->长数据(eg: float-> double)
有符号->无符号(eg: int-> unsigned int)PS: 所以 int(-1)>unsigned int(1);
低精度->高精度(eg: int-> float)
6.memcpy 有“防重叠”覆盖机制,strcpy 没有。
7.float表示
共计32位,折合4字节
由最高到最低位分别是第31、30、29、……、0位
31位是 符号位,1表示该数为负,0反之。
30-23位,一共8位是指数位。
22-0位,一共23位是尾数位。
每 8位分为一组,分成4组,分别是A组、B组、C组、D组。
每一组是一个字节,在内存中逆序存储,即:DCBA
8.不能在类的声明中初始化类常量,而只能在构造函数初始化列表来初始化
9.类中的枚举常量不占用对象的存储空间
10.有时候函数原本不需要返回值,但为了增加灵活性如支持链式表达,可以附加返回值。
11.赋值函数,应当用“引用传递”的方式返回String 对象。如果用“值传递”的方式,虽然功能仍然正确,但由于return 语句要把 *this 拷贝到保存返回值的外部存储单元之中,增加了不必要的开销,降低了赋值函数的效率。
12.对于非内部数据类型的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。如果用free 释放“new 创建的动态对象”,那么该对象因无法执行析构函数而可能导致程序出错。如果用delete 释放“malloc 申请的动态内存”,理论上讲程序不会出错,但是该程序的可读性很差。
13.如果用new 创建对象数组,那么只能使用对象的无参数构造函数,delete时如果对象没有析构函数,则delete和delete[]是功能相同的。
14.只能靠参数而不能靠返回值类型的不同来区分重载函数。编译器根据参数为每个重载函数产生不同的内部标识符。并不是两个函数的名字相同就能构成重载。全局函 数和类的成员函数同名不算重载,因为函数的作用域不同。
15.关键字inline
必须与函数定义体放在一起才能使函数成为内联,仅将inline 放在函数声明前面不起任何作用。定义在类声明之中的成员函数将自动地成为内联函数。
以下情况不宜使用内联:
(1)如果函数体内的代码比较长,使用内联将导致内存消耗代价较高。
(2)如果函数体 内出现循环,那么执行函数体内代码的时间要比函数调用的开销大。
16.只有静态常量整型数据成员才可以在类中初始化,普通成员只能在初始化列表或函数内初始化,常量成员只能在初始化列表。成员对象初始化的次序完全不受它们在 初始化表中次序的影响,只由成员对象在类中声明的次序决定。
17.拷贝构造函数和赋值函数非常容易混淆,常导致错写、错用。拷贝构造函数是在对象被创建时调用的,而赋值函数只能被已经存在了的对象调用。
18.不想编写拷贝构造函数和赋值函数,又不允许别人使用编译器生成的,则只需将拷贝构造函数和赋值函数声明为私有函数,不用编写代码。
19.“const T”和“T const”总是都被允许的,而且是等效的。
注意在常量指针(const pointer)中,“const”永远出现在“*”之后。
例如:
int *const p1 = q;//指向int 变量的常量指针
int const* p2 = q;//指向int 常量的指针
const int* p3 = q;//指向int 常量的指针
20.一个常见的微妙问题是,一个函数风格的宏并不遵守函数参数传递的规则。
21.没有引用数组,但可有指向数组的引用,并且保留数组的边界。
22.左值拥有保存值的位置,而右值则没有相关地址,只是简单值。
23.负索引是可以的,如p[-2]或(-2)[p]都是可以的(p必然不能是数组名),但必须保持不越界。
sum=p()+q()+r();不能保证p(),q(),r()调用的顺序。
逗号运算符“,”可以保证求值顺序.result=(p(),q(),r());是先求p(),q(),然后将r()赋给result
24.在if的条件里声明变量,且可在真假分支里面使用。
const int * const * p;p是个指针,指向常指针的,常指针指向一个常量int。
25.不能用空白初始化列表来规定默认的对象初始化.class a;
a A();//会警告,看起来像函数声明
a *p=new a();//ok
a *p=new a;//ok
26.可以写一句只有数字的代码,如1234;(void)0;可以编译执行,相当于nop。
27.给函数指针赋值时可以对函数名取地址也可以不取,通过函数指针调用函数时可以用*也可不用。
28.static_cast可以转换基本数据类型(int->char)、void*和有类型指针、基类和派生类指针的转换(多重继承也行,它可重新计算偏移地址),但是不能转换如(int*->char*等)。
29.dynamic_cast主要用于执行“安全的向下转型”,reinterpret_cast可执行任何转换,const_cast执行去 const转换。
30.将取地址运算符用到完全限定的类成员名(包括变量和函数),就能获得指向成员的地址。使用形式为“X::*”来声明一个指向类X成员的指针。注意声明成员 函数指针的时候不能像普通函数指针可以省略&或*的使用,但静态成员函数则除外,它和普通函数一致。成员指针和普通指针不一样,并非指向一个内存 区域,而是相当于一个结构的偏移量,当它和具体的对象结合就能指向特定对象的特定成员。
31.当把派生类对象赋给基类对象的时候会产生切割现象,即针对派生类的数据和行为将产生切割。
32.多维数组的第1个元素是数组而非普通类型。
33.在含有单参数构造函数的类中注意隐式转换。如String s=“Hello”;
34.函数对象是重载函数调用运算符的类对象。
35.引用需要用左值进行初始化,但指向常量的引用除外,编译器将创建一个临时左值。如const int c=12;//ok 一般情况下编译器产生的临时对象的生命期在它所在的最大表达式范围内,但用临时对象初始化常量对象的引用时会让编译器保证临时对象和引用生命周期一样。
36.可以将基类的成员指针(变量或函数)安全的转换为指向派生类成员的指针,但反之则不安全。
37.函数参数的传递是采用拷贝构造函数而非赋值操作。对未初始化的对象赋值可能会出现意外,如类中含有未初始化指针。
38.声明但不定义私有的拷贝构造和赋值运算将会关闭类的复制操作。并且赋值运算、拷贝构造函数和析构函数不会被继承,对派生类重载赋值运算时需要调用基类的赋 值运算。
39.在构造函数里对成员变量初始化,比较好的方式是使用初始化列表。在初始化列表中静态成员和数组不能被初始化。
类的初始化顺序是虚拟基类的成员->非虚基类成员->类自身成员,和初始化列表的顺序无关。含有虚拟基类和不含的类在成员布局上不一样,含有虚拟基类的类将虚拟基类的数据放在最后面。另外如B:virtual A,C:virtual A,D:B,C;(均是虚继承)则D的构造函数将对A初始化一次(即使在初始化列表没有显式初始化A),B,C将不再对A初始化。
所有静态数据(全局变量和静态存储变量)在使用前如未初始化其值都为0.全局变量可以存储在静态初始化区和未初始化区。
40.RVO返回值优化,是指在函数返回中执行拷贝初始化到直接初始化(使用带非对象参数的构造函数)的转换,NRV和RVO类似,但使用命名局部变量来保存返 回值。p160
41.重载、覆盖和隐藏的区别
重载的特征:在同一个类,函数名相同,参数不同,virtual可有可无。
覆盖的特征:在两个类(基类和派生类),函数名和参数都相同,且必须有virtual关键字。
隐藏的特征:基类函数名和派生类函数名相同参数不同,且不管是否有关键字。或函数名、参数均相同,但基类 函数没有virtual(有的话就是覆盖)。
不能覆盖而只能隐藏基类非虚函数。
42.相同类型的所有对象公用一个虚函数表,在单继承下不管有多少个虚函数都只有一个虚函数表指针。覆盖就是在为派生类构造虚函数表时用派生类的函数地址替换基 类成员函数地址的过程。
43.使用常量类成员可能在对类对象赋值的时候产生问题。
44.有时候我们可能会看到 if(NULL == p)这样古怪的格式。不是程序写错了,是程序员为了防止将 if(p == NULL)误写成 if(p = NULL),而有意把p 和NULL 颠倒。