天天看點

C++練習--實作客戶機(CLIENT)類

實作客戶機(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 <iostream>
#include <string>
using namespace std;

class CLIENT {
private:
    static string ServerName;  //Keep the Name of the Sever
    static int ClientNum;     //Keep the sum of the client
public:
    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 server
void 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;
}           

複制

  • 測試截圖
C++練習--實作客戶機(CLIENT)類