代码改变世界

C++学习的简单问题(一)

2013-04-08 20:18  liuzq2013  阅读(422)  评论(0)    收藏  举报

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

//client.h
#ifndef _CLIENT_
#define _CLIENT_

#include <iostream>
#include <string.h>
using namespace std;

class CLIENT
{
static char* ServerName;
static int ClientNum;
public:
CLIENT(){ClientNum++;}
~CLIENT(){ClientNum--;}//delete ServerName;}
static void ChangeServerName(char* name);
static char* getServerName();
static int getClientNum();
};
#endif
//client.cpp
#include "client.h"

void CLIENT::ChangeServerName(char *name)
{
ServerName=new char[strlen(name)+1];
strcpy(ServerName,name);
};
char* CLIENT::getServerName()
{
return ServerName;
}
int CLIENT::getClientNum()
{
return ClientNum;
};
//test.cpp
#include <iostream>
using namespace std;
#include "client.h"

int CLIENT::ClientNum=0;
char* CLIENT::ServerName="HPC";

int main()
{
CLIENT a,b;
cout<<CLIENT::getClientNum()<<endl;
cout<<CLIENT::getServerName()<<endl;
CLIENT::ChangeServerName("CNNIC");
cout<<CLIENT::getServerName()<<endl;
}

编译命令:g++ test.cpp client.cpp -o client_test