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;
}
  • 测试截图

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏C/C++基础

Linux命令(29)——ls命令

ls命令用来显示目录内容,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。

691
来自专栏JavaEE

mybatis-plus的使用 ------ 进阶

关于mybatis-plus的简介以及基本使用,我在《mybatis-plus的使用 ------ 入门》一文中已做介绍,此处不再赘述。本文主要对mybatis...

7807
来自专栏逸鹏说道

C# 温故而知新: 线程篇(四)

线程同步篇 (中):同步工具类的介绍 1 上篇回顾 2 继续介绍基元内核模式中的 monitor类 3 同步句柄:WaitHandle 4 EventW...

3176
来自专栏Java 源码分析

MyBatis笔记二:配置

1516
来自专栏LanceToBigData

JavaWeb(一)Servlet中的request与response

一、HttpServletRequest概述 1.1、HttpServletRequest简介   HttpServletRequest对象代表客户端的请求,当...

2908
来自专栏IT技术精选文摘

Java并发入门指南

关于Java并发 从创建起,Java已经支持核心的并发概念,如线程和锁。本指南帮助Java开发人员使用多线程程序来了解核心并发概念以及如何应用它们。本指南涵盖...

2269
来自专栏抠抠空间

rest_framework之解析器、路由控制、分页

1730
来自专栏Java成神之路

【转】 Java 多线程之一

进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括...

1133
来自专栏飞雪无情的博客

Go语言经典库使用分析(二)| Gorilla Context

在Go1.7之前,Go标准库还没有内置Context的时候,如果我们想在一个Http.Request里附加值,怎么做呢?一般都是Map对象,存储对应的Reque...

1753
来自专栏码神联盟

面试题 | 《Java面试题集》-- 第三套

varchar2分别在oracle的sql和pl/sql中都有使用,oracle 在sql参考手册和pl/sql参考手册中指出:oracle sql varch...

1592

扫码关注云+社区

领取腾讯云代金券