当前位置: 首页 > 工具软件 > client > 使用案例 >

实验4.2 实现客户机(CLIENT)类

璩正志
2023-12-01

题目

实现客户机(CLIENT)类。定义字符型静态数据成员ServerName,保存其服务器名称;整型静态数据成员ClientNum,记录已定义的客户数量;定义静态函数ChangeServerName()改变服务器名称。在头文件client.h中定义类,在文件client.cpp中实现,在文件test.cpp中测试这个类,观察相应的成员变量取值的变化情况。

AC的C++代码如下:

类声明头文件 client.h 
//client.h 
#ifndef CLIENT_H 
#define CLIENT_H 
// 其中的静态成员为类的属性,为所有的类的对象共同拥有
class client{ 
public : 
client(); 
~client(); 
4 
static void ChangeServerName( char ss); // 改变服务器名称
static void showServerName(); 
static void showClientNum(); 
private : 
static char ServerName; // 保存服务器名,引用性说明
static int ClientNum; // 记录已定义的客户(即对象)数量,引用性说明
}; 
#endif


类实现程序文件 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<< "服务器名: "<<ServerName<<endl; } 
void client::showClientNum(){ cout<< "客户总数: "<< ClientNum <<endl; } 
// 必须在文件作用域的某处用类名限定进行定义性说明,这时也可以进行初始化。
char client::ServerName= 'A'; // 无 static
int client::ClientNum=0; 



 主函数文件 lab5_2.cpp 
//lab5_2.cpp 
#include <iostream>
#include "client.h"
using namespace std; 
void main(){ 
client::showServerName(); // 初始状态
client::showClientNum(); // 类名引用静态成员函数
5 
client::ChangeServerName('B'); 
client a; // 增加一个客户
a. showServerName(); // 对象名引用静态成员函数
a. showClientNum(); 
{ 
client b; // 增加一个客户
b. showServerName(); 
b. showClientNum(); 
}// 减少一个客户
client::showServerName(); 
client::showClientNum(); 
}
 类似资料: