静态成员
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
标题: 2、静态成员
时限: 1000 ms
内存限制: 10000 K
总时限: 3000 ms
描述:1.设计一个Student类:保护成员:string Name,int Number, int Score,静态保护成员TotalCount;并完成其构造函数和析构函数,在析构函数中打印被析构的学生信息(包括Name,Nuber,Score,TotalCount)。
2.建立一个学生类的对象指针数组,长度由用户输入。而后,用户依次输入arrLength条学生的记录(包括姓名,学号和平均分),并为指针数组赋值。
3.由用户输入要删除的学生记录的条数delNumber及其在数组中的位置。删除这些记录。
输入:指针数组长度arrLength;arrLength条学生记录;
删除记录的条数delNumber;删除记录在数组中的位置。
输出:被删除的学生记录。
输入样例:5
ZhangSan 200905 98 LiSi 200906 78 WangWu 200907 88 ZhuangFeng 200906 68 MaiSha 200909 99
3
0 1 2
输出样例:ZhangSan 200905 98 4 LiSi 200906 78 3 WangWu 200907 88 2
提示: TotalCount的值在student对象构造和析构的时候更改。
来源:
#include
#include
#define MAX 20
using namespace std;
class Student
{
private:
char *Name;
int Number;
int Score;
static int TotalCount;
public:
static int GetCount()
{
return TotalCount;
}
Student(char * ="",int=0,int=0);
~Student();
};
int Student::TotalCount=0;
Student::Student(char *name,int number,int score)
{
Name=new char[strlen(name)+1];
strcpy(Name,name);
Number=number;
Score=score;
TotalCount++;
}
Student::~Student()
{
TotalCount--;
cout< int main() { int arrLength; cin>>arrLength; Student *ClassStudent[MAX]; for(int i=0;i { char name[20]; int number; int score; cin>>name>>number>>score; ClassStudent[i]=new Student(name,number,score); } int delNumber; cin>>delNumber; for(int i=0;i { int k; cin>>k; delete ClassStudent[k]; } return 0; }