- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计实验答案_数据的共享与保护
PAGE
PAGE 29
实验05 数据的共享与保护(2学时)
(第5章 数据的共享与保护)
一、实验目的
(1) 观察程序运行中变量的作用域、生存期和可见性。
(2) 学习类的静态成员的使用。
(3) 学习多文件结构在C++程序中的使用。
二、实验任务
5_1 运行下面的程序,观察变量x、y的值。
//lab5_1.cpp
#include iostream
using namespace std;
void fn1();
int x=1,y=2;
int main(){
cout开始...endl;
coutx=xendl;
couty=yendl;
cout在main()中求x和y的值...endl;
int x=10,y=20;
coutx=xendl;
couty=yendl;
cout进入函数fn1()...endl;
fn1();
cout返回main()endl;
coutx=xendl;
couty=yendl;
return 0;
}
void fn1(){
int y=200;
coutx=xendl;
couty=yendl;
}5_2 实现客户机(CLIENT)类。
声明字符型静态数据成员ServerName,保存其服务器名称;声明整型静态数据成员ClientNum,记录已定义的客户数量;定义静态函数ChangeServerName()改变服务器名称。在头文件client.h中声明类,在文件client.cpp中实现,在文件lab5_2.cpp中测试这个类,观察相应的成员变量取值的变化情况。
三、实验步骤
1.(验证)运行lab5_1.cpp程序,观察程序输出。
全局变量的作用域为文件作用域,在整个程序运行期间有效,但如果在局部模块中声明了同名的变量,则在局部模块中,可见的是局部变量,此时,全局变量不可见;
而局部变量的生存期只限于相应的程序模块中,离开相应的程序模块,局部变量x、y就不再存在,此时同名的全局变量重新可见。
程序名:lab5_1.cpp。
★ 程序的运行结果:
2.(编程)实现客户机(CLIENT)类。
新建一个空的项目lab5_2,添加头文件client.h,在其中声明类CLIENT,注意使用编译预处理命令;再添加源程序文件client.cpp,在其中实现CLIENT类,注意静态成员变量的使用方法;再添加文件lab5_2.cpp,在其中定义main()函数,测试CLIENT类,观察 相应的成员变量取值的变化情况。
提示:
访问一台服务器的客户总数。
静态成员为类的属性,为所有的类的对象共同拥有。
再定义两个静态成员函数,分别显示服务器名和客户总数。
构造函数用于增加一个客户,析构函数用于减少一个客户。
定义一个对象,再定义第二个对象,然后减少一个对象。
参考程序输出结果:
程序及运行结果:
(1) 类声明头文件client.h
//client.h
#ifndef CLIENT_H
#define CLIENT_H
//其中的静态成员为类的属性,为所有的类的对象共同拥有
class client{
public:
client();
~client();
static void ChangeServerName(char ss);//改变服务器名称
static void showServerName();
static void showClientNum();
private:
static char ServerName;//保存服务器名,引用性说明
static int ClientNum;//记录已定义的客户(即对象)数量,引用性说明
};
#endif(2) 类实现程序文件client.cpp
//client.cpp
#include iostream
#include client.h
using namespace std;
client::client(){ ClientNum++; }//增加一个对象(客户)
client::~client(){ ClientNum--; }//减少一个对象(客户)
void client::ChangeServerName(char sn){ ServerName=sn; }//无static
void client::showServerName(){ cout服务器名:ServerNameendl; }
void client::sho
您可能关注的文档
- 9.3连通器.ppt
- 9.4 物态变化中的能量交换课件 新人教版选修3-3.ppt
- 9.4_拉普拉斯变换的应用及综合举例.ppt
- 9.4_物态变化中的能量交换.ppt
- 9.4_流体压强与流速的关系1.ppt
- 9.4流体压强与流速的关系课件.ppt
- 9.4《流体压强与流速的关系》.ppt.ppt
- 9.5 空间直角坐标系与空间几何体.ppt
- 9.6 温度的微观本质.ppt
- 9.6 平面曲线积分与路径无关的条件.ppt
- 2025年济源职业技术学院单招(数学)历年真题考点含答案解析.docx
- 2024重庆渝富高质产业母基金私募股权投资基金管理有限公司招聘10人笔试参考题库附带答案详解.pdf
- 2024重钢集团财务共享中心公开招聘3人笔试参考题库附带答案详解.pdf
- 2025年浙江东方职业技术学院单招语文2019-2024历年真题考点试卷含答案解析.docx
- 2025年浙江东方职业技术学院单招英语2014-2024历年真题考点试卷摘选含答案解析.docx
- 2025年浙江东方职业技术学院单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析.docx
- 2025年浙江交通职业技术学院单招英语2014-2024历年真题考点试卷摘选含答案解析.docx
- 2025年浙江体育职业技术学院单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析.docx
- 2025年浙江交通职业技术学院单招语文2019-2024历年真题考点试卷含答案解析.docx
- 2024锡林浩特市白银库伦牧场招聘4人笔试参考题库附带答案详解.pdf
文档评论(0)