实验八 静态数据成员和静态函数成员

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验八静态数据成员和静态函数成员

任务一:

1、了解多文件工程

本次实验需要创建一个工程,此工程由三个文件组成

1)头文件client.h ——类的声明

2)源文件client.cpp——成员函数的定义

3)源文件test.cpp——main()函数的定义

2、了解CLIENT类

本次实验的主角是CLIENT(客户机)类。在实际生活中,计算机网络的应用模式为client/server(客户机/服务器)模式。情况很简单,即多台客户机与一台服务器连接,服务器为客户机提供服务。

3、实验任务

1)阅读程序代码,仔细分析CLIENT类的各数据成员及函数成员,写出分析结果

2)创建多文件工程,编译并运行

3)为main()函数的各条语句增加注释

4)将数据成员ServerName改为非静态,其它类成员的静态属性不变。

修改程序代码,使客户机a连接到另一台服务器M。(b仍与N连接)

任务二:

生成一个储蓄类CK。用静态数据成员表示每个存款人的年利率lixi。类的每个对象包含一个私有数据成员cunkuan,表示当前存款额。提供一个calLiXi()成员函数,计算利息,用cunkuan乘以lixi除以12取得月息,不计复利,并将这个月息加进cunkuan中。提供设置存款额函数set()。提供一个静态成员函数modLiXi(),可以将利率lixi修改为新值。

实例化两个不同的CK对象saver1和saver2,结余分别为2000.0和3000.0。将lixi设置为3%,计算一个月后和3个月后每个存款人的结余并打印新的结果。

首先定义储蓄类CK,它包含一个私有数据成员cunkuan,数据类型为double,一个静态数据成员年利率lixi,数据类型也为double;包含一个成员函数calLiXi()和一个静态成员函数modLiXi(),其中modLiXi()应含有一个表示要更改的年利率的新值的参数。

完善程序:

#include

class CK{

double cunkuan;

public:

? //定义静态数据成员lixi

CK(double c){?}//构造函数

void set(double x){?}//设置存款额

? //定义静态成员函数modLiXi()

void calLiXi(int m=1);

};

//编写CK类的成员函数,并初始化静态数据成员。

void CK::calLiXi(int m)

{

double x;

x=?; //计算月利息

?; //将利息加入到存款中

cout<

}

void CK::modLiXi(double x) //更改年利率

{ ? }

//初始化静态变量为0,静态变量必须初始化

?;

//主函数:实例化两个对象,将年利率更改为3%,计算并显示存款人的实际存款。void main()

{

CK saver1(2000.0),saver2(3000.0);//实例化两个对象

? //以类名来调用静态成员函数,将年利率设为3%

cout<<"年利率为 3%时"<

cout<<"一个月后甲的存款余额为: ¥";

saver1.calLiXi();

cout<<"一个月后乙的存款余额为: ¥";

saver2.calLiXi();

saver1.set(2000.0);saver2.set(3000.0);

cout<<"三个月后甲的存款余额为: ¥";

saver1.calLiXi(3);

cout<<"三个月后乙的存款余额为: ¥";

saver2.calLiXi(3);

cout<<"-------------------------------------------"<

saver1.set(2000.0);saver2.set(3000.0);

? //以对象名来调用静态成员函数,将年利率设为6%

cout<<"年利率为 6%时"<

cout<<"一个月后甲的存款余额为: ¥";

saver1.calLiXi();

cout<<"一个月后乙的存款余额为: ¥";

saver2.calLiXi();

saver1.set(2000.0);saver2.set(3000.0);

cout<<"三个月后甲的存款余额为: ¥";

saver1.calLiXi(3);

cout<<"三个月后乙的存款余额为: ¥";

saver2.calLiXi(3);

}

相关文档
最新文档