实现客户机(CLIENT)类。定义字符型静态数据成员SeverName,保存其服务器名称;整型静态数据成员ClientNum,记录已定义的客户数量;定义静态函数ChangeSeverName()改变服务器名称。在头文件client.h中定义类,在文件client.cpp中实现,在文件test.cpp中测试这个类,观察相应的成员变量取值的变化情况。
- 代码如下:
- client.h
/**This file contains code for C++ 3rd experiment*By LZH *//**Warnning:A static variable in a class belongs to a class and does not belong to an Object!*You cannot initialize a variable when an object is defined!*Cannot initialize with constructors! *Also, use the class name instead of the object.*/#ifndef CLIENT_H// we're here only if CLIENT_H has not yet been defined #define CLIENT_H// Definition of Sales_item class and related functions goes here#include#include using namespace std;class CLIENT {private: static string ServerName; //Keep the Name of the Sever static int ClientNum; //Keep the sum of the clientpublic: CLIENT(); ~CLIENT(); static void ChangeSeverName(); void show();};#endif
- client.cpp
#include"client.h"CLIENT::CLIENT() { cout<<"This is the Dafault Constructor!!"; ClientNum++;}void CLIENT:: ChangeSeverName(){ cout << "Please enter the name of new server:"; cin >> ServerName;} //Change the Name of the servervoid CLIENT::show(){ cout << "The Server's name:" << ServerName << endl; cout << "The number of the Clients:" << ClientNum << endl;}CLIENT::~CLIENT() {}int CLIENT::ClientNum = 0;string CLIENT::ServerName = "#@$#@$";
- test.cpp
#include"client.h"int main() { CLIENT asp; asp.show(); asp.ChangeSeverName(); asp.show(); return 0;}
- 测试截图