在右侧编辑器中的Begin-End
之间补充代码,设计一个 User 类(客户类),现有一个共享书店,该书店客户在进入书店时需要托管一定量的书籍,而这些书籍将由书店内所有用户共享,当客户离开书店时,他还是要将他进入书店时托管的书带走。设计时访问性可自主选择,具体要求如下:
-
姓名:
string Name
-
托管的书籍量:
int Books
-
带参构造函数:
User(string name,int books)
,使用这两个参数初始化内部的两个成员,同时按照姓名 数量 进入
的格式打印一条消息。 -
析构函数:
~User()
,按照姓名 数量 离开
的格式打印一条消息。 -
静态成员函数:
void GetState()
,按照书店人数:用户总数,书店共享书数量:书籍总数,人均共享数量:人均书籍量
的格式打印一条消息,其中人均书籍量只保留整数部分,具体请参考测试说明。
提示:可以增加 UserCount ,BookCount 两个静态变量用于记录已有用户数和已有书籍数。
#include <string>
#include <iostream>
using namespace std;
class User{
public:
//声明成员
//变量
string Name;
int Books;
static int UserCount;
static int BookCount;
//函数
User(string name, int books);
~User();
static void GetState();
};
//变量初始化
int User::UserCount = 0;
int User::BookCount = 0;
//函数定义
User::User(string name, int books) {
UserCount++;
Name = name;
Books = books;
cout << Name << " " << Books << " " << "进入" << endl;
BookCount += Books;
}
//delete析构函数
User::~User() {
UserCount--;
cout << Name << " " << Books << " " << "离开" << endl;
BookCount -= Books;
}
void User::GetState() {
cout << "书店人数:" << User::UserCount << "," << "书店共享书数量:" << User::BookCount
<< "," << "人均共享数量:" << User::BookCount / User::UserCount << endl;
}